Если взломщик изменит это условие, то
программа будет корректно работать без
ключа
senselock
Cоздание удобной, гибкой, и в то же время безопасной системы лицензирования и удаленного обновления данных является одной из основных задач при защите программного обеспечения. К сожалению, большинство уже существующих решений не удовлетворяют сразу всем этим условиям. В большинстве случаев слабым местом является защищенность самой системы и отсутствие реальной связи между результатом проверки лицензий и функционирования программы. У злоумышленника всегда есть возможность изменить функцию проверки лицензии (обычно для этого необходимо просто заставить ее возвращать “1” или “0”) и этого будет достаточно, чтобы программа считала, что ее модуль или опция разрешены к использованию. А информацию для обновления электронных ключей легко подменить или изучить.
В созданной нами системе лицензирования и удаленного обновления для электронных ключей SenseLock серии EL4 (кроме модели EL4-NET-RTC) мы постарались устранить этот недостаток, сохранив при этом гибкость настроек и простоту использования.
Для работы c системой лицензирования и создания пакетов удалённого обновления, необходимо наличие мастер-ключа. Только с его помощью могут быть созданы пакеты обновлений, лицензии и записаны данные в ключи пользователей. Мастер-ключ предоставляется клиентам нашей компании по запросу. Доступ к мастер-ключу осуществляется посредством ввода пароля. Без правильного пароля создание ключей пользователя, лицензий и пакетов удаленного обновления будет невозможно.
Этот модуль предназначен для создания ключей пользователей и записи в них исполняемых модулей системы удаленного обновления и лицензирования .
Модуль “Программирование ключей” также позволяет производить следующие действия:
Также при создании ключа пользователя в него сразу могут быть записаны пакет обновления с исполняемыми модулями защиты разработчика ПО и пакет лицензий.
Система безопасного удаленного обновления в первую очередь предназначена для дистанционного перепрограммирования содержимого ключа пользователя. Разработчик защиты может изменять любые файлы, как исполняемые, так и файлы данных на стороне пользователя, не опасаясь, что их содержимое станет известно третьим лицам.
Основные возможности системы удалённого обновления:
Основные возможности системы лицензирования:
Использование модуля системы лицензирования с защищенным программным обеспечением происходит в два этапа:
Вызов исполняемого модуля лицензирования для получения и проверки лицензии
Вызов исполняемого модуля защищенного приложения для выполнения основных функций
Дополнительные функции системы лицензирования позволяют:
Пример получения лицензии и последующий вызов функции исполняемого модуля разработчика:
#define LIC_MODULE_1 0x01 #define LIC_MODULE_1_VER 0x0100 // Код программы ... /* Получение лицензии */ error = SLM_LicCheckout(&s4ctx, LIC_MODULE_1, LIC_MODULE_1_VER); if (error != ERR_LM_SUCCESS) { printf("Ошибка получения лицензии: %08X\n", error); return -1; } /* Выполнение защищённой функции в электронном ключе */ error = ProtectedFunction1(param1, param2, &result); if (error != 0) { printf("Ошибка выполнения функции: %08X\n", error); } else { printf("Результат выполнения: %08X\n", result); } // Код программы ... /* Освобождение полученной лицензии */ SLM_LicCheckin(&s4ctx, LIC_MODULE_1);
Пример проверки статуса лицензии в исполняемом модуле разработчика:
DEFINE_AT(LM_STATUS_t, lic_stat, 0x0400, RAM_EXT); DEFINE_AT(unsigned char, reserved[150], 0x040B, RAM_EXT); IO_PKT_t *input = (IO_PKT_t*)pbInBuff; // Переменные, определения и код защищаемых функций ... void main() { switch (input->tag) { // Функция #1 case CMD_FUNC1 : { // Проверка соответствия идентификатора полученной // лицензии if (lic_stat.id != 1) { error = ERR_LICENSE_NOT_CHECKOUT; break; } // Проверка статуса полученной лицензии if (lic_stat.status != LIC_STAT_VALID) { error = ERR_LICENSE_NOT_VALID; input->buff = lic_stat.status; break; } // Выполнение защищенной функции, если лицензия получена error = func1(input->buff); } break; // Функция #2 case CMD_FUNC2 : { // Проверка соответствия идентификатора полученной лицензии if (lic_stat.id != 2) { error = ERR_LICENSE_NOT_CHECKOUT; break; } // Проверка статуса полученной лицензии if (lic_stat.status != LIC_STAT_VALID) { error = ERR_LICENSE_NOT_VALID; input->buff = lic_stat.status; break; } // Выполнение защищенной функции, если лицензия получена error = func2(input->buff); } break; default : error = ERR_INVALID_FUNCTION; break; } // Установка возвращаемого кода ошибки input->tag = error; // ... }
Этот пример не демонстрирует всех возможных вариантов исползования системы лицензирования, таких как использование версии лицензии или информации разработчика. Используя эти дополнительные поля вы можете, например, ограничить использование лицензий только с определенными версиями программного обеспечения или использовать информацию разработчика в качестве вектора инициализации при шифровании, тем самым делая функцию шифрования уникальной для каждого клиента.
Для всех наших клиентов система безопасного удаленного обновления и лицензирования предоставляется бесплатно!
Основой ключей SenseLock серии EL4 служит микропроцессор, построенный на базе многослойного высокозащищенного ядра, используемого при производстве современных банковских смарт-карт, имеющий сертификат безопасности EAL5+.
Common Criteria (EAL5+) – наивысший из существующих на сегодня уровней сертификации аппаратных средств защиты.
Применённые при создании кристалла программные и аппаратно-технологические меры ограничения доступа, а также криптографическая защита информации с использованием современных стойких алгоритмов, исключают возможность получения несанкционированного доступа к данным, хранящимся в памяти кристалла и гарантированно защищают кристалл от копирования и эмуляции.
Процессор имеет внутри себя все необходимые компоненты, такие как:
Все ядро и периферия системы находятся в одном корпусе, что надежно защищает систему от декапсуляции, послойного спиливания и инвазивного вмешательства.
Противодействие физическому взлому, кристалла спроектированного изготовителем:
- Детекторы пониженного и повышенного напряжения питания, тактовой частоты, температуры;
- Самотестирование топологии кристалла;
- Очистка RAM при сбросе или срабатывании детекторов;
- Защита от высокочастотных помех;
- Генератор случайных тактов ожидания;
- Шифрование внутренних шин;
- Прозрачное шифрование RAM, ROM, EEPROM;
- Аппаратная защита чтения областей ROM, EEPROM, РRОM;
- Защита от использования в нештатных режимах работы;
- Шифрование или скремблирование внутренних RAM и EEPROM.
При производстве кристаллов применяются специальные технологические приемы, затрудняющие частичное или полное воссоздание топологии кристалла и получения секретной информации. Кристалл содержит более 30 слоев. Самые ответственные части схемы (ROM и EEPROM) находятся внутри слоёв и защищены дополнительным слоем металлизации, что защищает кристалл от методов оптического и электронного сканирования. Также данный метод обеспечивает разрушение кристалла при послойном спиливании. Дополнительные трудности при определении структуры кристалла добавляет отсутствие общей шины между функциональными блоками (CPU, FPU, RAM, ROM и EEPROM).
Память ключа выполнена в виде файловой системы, работающей с папками и файлами. Сами файлы могут быть трех видов:
Каталоги файловой системы защищены специальным PIN кодом для контроля доступа к ним.
Доступ к программированию ключа осуществляется посредством 24-значного PIN-кода, который задаётся разработчиком самостоятельно. Для вызова исполняемых в ключе модулей требуется 8-значный PIN-код пользователя, который также назначается разработчиком.
Операционная система ключа SenseLock EL4 предоставляет пользователю набор из более чем 100 функций разнообразного назначения, например:
Модель ключа SenseLock EL4-RTC имеет встроенный энергонезависимый таймер реального времени со своим собственным источником питания (литиевая батарейка). Время и дата таймера задаётся при производстве ключа. Возможности изменения показаний таймера у разработчика и пользователя отсутствуют. Текущее значение времени может быть только считано и не может быть изменено.
Ключ SenseLock EL4 взаимодействует с персональным компьютером посредством подключения через USB разъем. Возможна работа в двух режимах:
Драйвера ключа для OS Windows протестированы и имеют сертификат WHQL (Windows Hardware Quality Labs). Драйвера USB HID встроены в большинство современных операционных систем.
Категория | Тест | Время выполнения (msec) | Комментарий |
---|---|---|---|
Ввод-вывод | Пустой буфер | 19 | Никаких вычислительных процедур |
Буфер данных (250 байт) | 51 | ||
Работа с блоками данных | Чтение буфера 8 кб | 74 | Блоки по 128 байт, 64 цикла |
Заполнение буфера 8 кб | 1418 | ||
Запись блока данных из внешней программы | Буфер 8 кб | 3535 | Время заполнения буфера внутри ключа |
Работа с 32-х битными целыми числами (с учетом передачи данных) | Операция сложения, 1000 циклов (DWORD) | 52 | Добавление к результату “1” |
Операция сложения, 1 млн. циклов (DWORD) | 341 | ||
Работа с 64-х битными числами с плавающей точкой (double) (с учетом передачи данных) | Операция сложения, 1000 циклов | 1286 | С использованием функций языка Си |
Операция сложения, 1 млн. циклов | 13109 | ||
Извлечение косинуса, 50 циклов | 1424 | ||
Извлечение косинуса, 100 циклов | 2813 | ||
Извлечение квадратного корня, 1000 циклов | 33608 | ||
Извлечение квадратного корня, 10000 циклов | 335643 | ||
Работа с 32-х битными числами с плавающей точкой (float) (с учетом передачи данных) | Операция сложения, 1000 циклов | 545 | С использованием математического сопроцессора |
Операция сложения, 1 млн. циклов | 5106 | ||
Извлечение косинуса, 50 / 1000 циклов | 68 / 684 | ||
Извлечение косинуса, 100 / 1 млн. циклов | 111 / 6445 | ||
Извлечение квадратного корня, 1000 циклов | 634 | ||
Извлечение квадратного корня, 10000 циклов | 5942 |
Переход на использование электронных ключей SenseLock – это, в первую очередь, возможность для компании получить дополнительный доход за счет легализации и сведения к нулю пиратских копий программы. А невысокая стоимость устройств защиты позволит в некоторых случаях даже снизить себестоимость конечного программного продукта, поставляемого пользователю.
В современном мире конкуренция может принимать самые различные формы. Для подрыва экономической стабильности, компании-конкуренты зачастую пользуются недобросовестными способами борьбы, такими как взлом и бесплатное распространение программ конкурентов или изучение их алгоритмов и использование в собственных разработках. Надежная аппаратная защита, используемая в электронных ключах SenseLock, позволит избежать таких неприятностей в будущем.
Использование электронных ключей SenseLock позволит использовать дополнительные возможности по распространению программного обеспечения, такие как продажа в лизинг и безопасная дилерская сеть.
Одним из важных критериев успеха программного обеспечения среди пользователей, является удобство его использования, и система защиты играет в этом не последнюю роль. Именно для этого в электронных ключах SenseLock предусмотрена возможность работы без установки каких-либо дополнительных драйверов в операционную систему. Для удобства пользователей переносных персональных компьютеров была разработана специальная версия ключа – SenseLock EL-Genii, имеющая самый маленький, среди устройств защиты, корпус. Использование этой модели исключит как поломку самого ключа, так и ноутбука, при активном мобильном использовании.
Электронный ключ SenseLock – это продукт нового поколения, реализующий самые современные технологии, как в области защиты программного обеспечения, так и в области электроники. Сердцем ключа является чип, используемый в смарт-картах, основным предназначением которых является безопасность исполняемых функций и хранимой внутри информации.
Таким образом, зачем разработчику платить те же деньги за устаревшие и неоднократно скомпрометировавшие себя устройства защиты, если можно использовать более современные и совершенные решения?
Производители обычных электронных ключей смирились с тем, что их решения регулярно взламываются и некоторые открыто пишут об этом на своих ресурсах. Для обоснования этой позиции даже придумываются различные доводы, например, что пиратство помогает рекламировать продукт. И нередко это мнение навязывается и разработчикам программного обеспечения, нуждающимся в надежной защите своих вложений.
При правильном использовании электронных ключей SenseLock, взлом защищенного ими программного обеспечения становится практически невозможен. Единственной возможностью остается взлом микросхемы на аппаратном уровне, однако стоимость этой процедуры на порядки выше стоимости взлома микросхем, используемых в обычных ключах и начинается от 50.000 евро, при этом результат не гарантируется. А если учесть возможность безопасного удаленного обновления исполняемых модулей ключа при выходе новых версий программного обеспечения, то вся процедура становится практически бессмысленной.
Это не так. Конечно, при желании, функциональность электронных ключей SenseLock можно ограничить на столько, что он станет похож на обычный ключ, но какой смысл это делать? Основным отличием ключей SenseLock является возможность выполнения произвольного кода в защищенном от изучения и внесения изменений пространстве. На сегодняшний день это самое эффективное средство защиты программного обеспечения от взлома.
По сути, разработчик самостоятельно создает “черный ящик”, выполняющий известные только ему расчетные части защищаемой программы. На входе ключ получает параметры для расчета, а на выходе – результат вычислений, при этом сам алгоритм вычислений надежно защищен от постороннего изучения и вмешательства, что исключает возможность создания эмуляторов.
Пиратство может помочь продвижению продукта только в том случае, если этот процесс контролируется разработчиком программного обеспечения. Но обычные электронные ключи абсолютно не предоставляют такой возможности. Поэтому в том случае, если вы не можете выпуском новых версий продукта, поддержкой и другими способами заставить легализовать пиратские копии, пиратство не принесет никаких положительных моментов для вашей компании.
Смена системы защиты при выпуске новой версии программного продукта – отличный способ заставить пользователей пиратской копии перейти на легальную.
Для многих компаний, уже продавших копию своего программного обеспечения большому количеству пользователей, процесс смены защиты может быть немного осложнен необходимостью обновления всех старых ключей.
Одним из вариантов решения данного вопроса является совместное использование старых ключей с электронными ключами SenseLock. Конечно, это сразу не принесет дополнительного усиления системы защиты и может быть целесообразно в том случае, когда вы хотите добавить новые возможности (например, использование часов реального времени), уменьшить количество выходящих из строя ключей или, в конце концов, электронные ключи SenseLock просто дешевле используемых вами ранее.
Продажа программного обеспечения, защищенного электронными ключами SenseLock и с поддержкой старых ключей.
Уровень защищенности продукта не изменяется, так как остается слабое звено защиты (старый ключ).
Новым клиентам поставляются новые, более защищенные ключи SenseLock. Выполняются все функции защиты, поддерживаемые старыми ключами, а переход на новую версию защиты может быть осуществлен в любое время.
Отказ от поддержки старых ключей и полный переход на защиту с использованием электронных ключей SenseLock.
Данный шаг производится при выпуске любого платного обновления программного обеспечения или при продлении пользователем срока использования своей лицензионной копии программы. При необходимости, во все распространенные ранее ключи SenseLock удаленно вносятся необходимые обновления для поддержки новой версии системы защиты.
Основная проблема выбора электронного ключа при создании системы защиты – размытые критерии и неуверенность в продукте.
В частности, высокотехнологичные компании-производители делают технологии закрытыми для пользователя и, в связи с этим, нет возможности для объективной и независимой их оценки. Разработчику, как правило, не хватает понимания и практических навыков, чтобы судить о преимуществах или недостатках той или иной технологии. В результате выбор может пасть на устаревшую технологию, представляемую на рынке лишь для того, чтобы удовлетворить небольшие запросы большинства пользователей.
По сути, производителю необходимо выбрать и оценить основные качества, такие как защищенность, надежность и так далее, основываясь на имеющейся рекламной информации. Например, как много существует компаний, выбравших этот продукт? Какой эффект от внедрения технологии наблюдался у них? Каково их мнение о продукте?
Несмотря на это производители электронных ключей стараются всячески засекретить информацию о своих продуктах и технологиях. Они боятся того, что она станет известна конкурентам? Приведет ли оглашение этой информации к опасности для их клиентов? Получается, что безопасность всех пользователей зависит от одного алгоритма!
Какие критерии использовать для выбора? Давайте посмотрим, как определяет их SenseLock, основываясь на фактах и доступных данных.
С того момента как SenseLock предложил в начале 2002 года свою передовую технологию защиты, основанную на использовании смарт-карт, а в мае 2002 года выпустил в свет первую партию ключей SenseLock EL, более 1000 компаний производителей программного обеспечения стали клиентами SenseLock Data Protection Center, в совокупности потребив более 300,000 ключей. SenseLock обслуживает таких гигантов программного рынка Китая как Beijing Founder Electronics Co Ltd, Sony (China), Beijing Morrowsoft Technology, China Academy of Building Research, UFIDA Software Co Ltd, NewAuto Group, Shanghai Shenjmiasuan и многих других.
Безусловно, производители защиты обязаны тесно сотрудничать со всеми своими клиентами, становясь для них надежным и проверенным партнером. Но факты свидетельствуют о том, что чрезмерная реклама и неподкрепленные ничем обещания, а также замедление научно-исследовательских работ в области защиты программного обеспечения привели к тому, что производители не могут соперничать в темпах развития с пиратами и удерживать текущих клиентов, предоставляя надежные продукты.
Мы очень надеемся на то, что наши постоянные усовершенствования и разработки в области защиты, профессиональная и своевременная поддержка и искреннее внимание к проблемам клиентов, сделают SenseLock вашим долгосрочным и надежным партнером в области борьбы с пиратством.
Существует мнение, что электронный ключ – это не более чем устройство, способное защитить от пиратства. Но также он может добавить вашей программе функциональность и дополнительные возможности.
Мы уверены, что более глубокое изучение возможностей ключа позволит извлечь из него больше, чем это кажется на первый взгляд.
Далее мы расскажем, какими могут быть преимущества, полученные от использования ключа SenseLock EL, и рассмотрим несколько примеров, чтобы показать, как эффективно можно использовать электронное устройство не только для защиты.
Основными преимуществами использования ключа SenseLock EL являются:
Ключ SenseLock запатентован в Китае как первое решение в области защиты программ с использованием смарт-карт. Ядро SenseLock EL зарекомендовало себя как наиболее надежное средство для защиты кода и важных данных. За более подробной информацией Вы можете обратиться в компанию «Секьюлэб».
Пиратство – основная угроза выживания софтверного бизнеса и в настоящее время только надежное аппаратное средство может гарантировать защиту ваших интересов. Мы постараемся предоставить данные для последующего анализа с целью доказать вам – SenseLock‘у можно доверять.
Производители обычных ключей делают акцент на защите самого электронного ключа или надежности используемого алгоритма, но совсем не берут в расчет защищенность программ, не гарантируя никакого результата. Фактически, вся ответственность ложиться на интегратора защиты, то есть в большинстве случаев на штатного программиста компании. В теории доказано, что защита обычным ключом не может гарантировать 100% устойчивость ко взлому, то есть вся нагрузка и ответственность ложится на плечи человека, интегрирующего решение на основе обычного ключа.
С другой стороны, на дворе XXI век и у пиратов появляются новые возможности по атакам непосредственно на сам ключ и хранимые в нем данные. И тут необходима надежная защита самой электроники. Решения на основе обыкновенных чипов без использования технологии смарт-карт не могут гарантировать невозможности вскрытия чипа с помощью инвазивных технологий и декапсуляции.
Таким образом, получается, что человек, который защищает программное обеспечение, должен быть куда более квалифицирован, чем взломщик. Несложно оценить, что уровень знаний в области защиты у рядового программиста несоизмеримо ниже, чем у групп взломщиков, использующих современные отладочные средства, или пиратов, имеющих доступ к оборудованию для декапсуляции чипов.
SenseLock EL делает защиту простой и надежной с помощью технологии переноса исполняемого кода. Ключевые данные и код просто исчезают из приложения и надежно размещаются внутри ключа SenseLock EL. В нужный момент происходит вызов необходимой части приложения с использованием API ключа для того чтобы отработал недостающий участок кода. Этот код никогда не передается в компьютер, а выполняется процессором смарт-карты, таким образом не оставляя взломщику ни малейшего шанса понять, что же происходит с обрабатываемыми данными внутри ключа. Таким образом SenseLock EL предоставляет на 100% надежный в теории метод защиты приложения.
В теории легко обеспечить защиту с использованием ключа SenseLock EL, но на практике необходимо руководствоваться дополнительными аспектами, чтобы надежно защитить код. Основным вопросом является обеспечение безопасности кода, перенесенного в ключ. Другими словами, как гарантировать то, что код, перенесенный в ключ, не будет прочитан и проанализирован кем-либо.
В конечном счете, необходим уровень защиты, обеспечивающий безопасное хранение и запуск перенесенного кода.
Мы можем рассматривать понятие <смарт-карта> с двух точек зрения. Прежде всего, смарт-карта создана с целью защиты и это ее основная функция и основное отличие от различного рода чипов. Во-вторых, смарт-карта – это полный компьютер, содержащий в одном корпусе микросхемы центральный процессор, оперативную и энергонезависимую память, шины обмена данными и так далее. Современные смарт-карты класса high-end содержат в себе также криптографические сопроцессоры, а с точки зрения программного обеспечения – операционную систему карты COS (card operation system) и приложения, использующие ее возможности. Таким образом, структура самой смарт-карты, по сути, представляет собой сверхзащищенный миникомпьютер.
Защищенность электронной части гарантирована производителем чипа, который должен обеспечить ее на протяжении всего процесса разработки и производства. Безопасность смарт-карт различных производителей сильно отличается, и если говорить другими словами, то следует доверять производителям, проверенным временем и множественностью решений.
Атака электроникой подразумевает использование специальной аппаратуры, анализирующей изменения в электронных зарядах внутри чипа во время исполнения приложения с целью выявления ключевой информации.
Атака зондированием предполагает подключение специального зонда к шинам внутри чипа и считывание информации, проходящей по этим шинам.
Декапсуляция подразумевает получение данных о топологии чипа, использование микроскопа для получения прошивки и дальнейшее ее изучений.
Атака через отладочный порт позволяет отключить бит защиты и прочитать данные внутри чипа.
Даже эксперт в области проектирования чипов не сможет подтвердить или опровергнуть степень защищенности смарт-карты, особенно без специального измерительного оборудования. К счастью, существуют нормы производства, стандартизированные по ISO (ISO/IEC 10373, ISO/IEC 15408) для производства смарт-карт и в этих стандартах особенно предъявляются требования к устойчивости продукта от считывания данных под рентгеновскими лучами и в электромагнитном поле.
Основываясь на этих стандартах, SO сформулировала основные международные критерии надежности смарт-карт и разделило их по степени надежности EAL (Evaluation Assurance Level).
EAL делятся на уровни от 1 до 7 по возрастанию надежности. В настоящее время, с имеющимся уровнем производства, может быть достигнут только уровень 5+.
16-ти битный чип смарт-карты Philips, используемый в ключах SenseLock EL, сертифицирован и получил уровень оценки EAL5+. Таким образом, мы уверенно можем заявить, что ключ SenseLock EL гарантирует высочайшую степень надежности и сохранности кода и данных и может выдержать все основные методы воздействия на него. В конечном итоге 300,000 проданных чипов это вполне доказали.
Международная практика показывает, что пренебрежение защищенностью чипа в обмен на скорость приводит к невозможности прохождения сертификации и получения уровня более EAL3+, и, в конечном счете, не может гарантировать пользователю надежной защиты кода и данных.
Самоблокирование. При первичном обращении к чипу необходим PIN-код. Максимально допустимое количество ошибок задается производителем чипа и его превышение приводит к блокированию чипа и стиранию всей информации в памяти.
Уникальный серийный номер. Этот номер уникален и не может быть изменен, что позволяет легко решить проблему подделки.
Генератор случайных чисел. Используется внутри ключа прежде всего для генерации пар ключей ассиметричного шифрования и сеансовых ключей. Гарантирует невозможность воспроизведения полученных данных.
Внутренний таймер. Позволяет реализовать различные схемы защиты и, прежде всего, защиту от отладки.
Операционная система карты COS – ядро всех исполняемых внутри ключа приложений. Без операционной системы ни одно приложение не может функционировать, а весь чип напоминает неработающий компьютер, на котором не установлена операционная система.
Замечание: защита чипа – это основа, но, как показывает практика, основные утечки и уязвимости присутствуют в COS.
Давайте рассмотрим основные упущения в COS и утвердимся в этом тезисе.
Разработчик COS сталкивается с огромными сложностями и оценка результата должна содержать , прежде всего, попытки выявить так называемые “закладки”, позволяющие неавторизованно получать доступ к ресурсам смарт-карты.
Разработка COS должна вестись в соответствии со стандартом безопасности смарт-карт ISO7816. Эксперты ISO сформулировали эти стандарты после долгих лет кропотливой работы. Только строгое соблюдение этих стандартов в процессе разработки гарантирует надежность и работоспособность продукта. Без соответствия критериям стандарта ISO7816 любая COS смарт-карты не гарантирует какой-либо надежности и может быть расценена как обыкновенная прошивка электронного ключа.
Комплексный подход и количество кода оказывают прямой эффект на уровень защиты. Чтобы убедиться, что уровень безопасности достаточно высок, необходимо прежде всего понять, достаточно ли функциональности для создания приложений с использованием внутренних ресурсов смарт-карты. SenseLock адаптировал язык C для создания приложений смарт-карты. Это очень удобно для разработчика, так как не требует дополнительных знаний и временных затрат, а также обеспечивает высокую скорость исполнения кода. COS и ядро ключа созданы таким образом, чтобы обеспечить выполнение программы с отличной скоростью и набором функций. Ключ SenseLock отлично распоряжается ресурсами, будь то оперативная или энергонезависимая память.
Как правило, в обычном чипе оставлен так называемый порт отладки, позволяющий произвести настройки или выявить причину неисправности. Это очень опасная практика, так как при уходе сотрудника из компании такие “закладки” сразу становятся предметом достояния хакеров, и вся линейка продуктов становится уязвимой. Другими словами, если защита сделана неудачно – это приводит к потере одной версии продукта, если найдена “закладка”, производитель теряет всю линейку продуктов до тех пор, пока не поменяет поставщика средства защиты.
SenseLock Data Security Centre гарантирует отсутствие каких-либо закладок в своих продуктах. Одним из доказательств этого является то, что Senselock не обменивает ключи, стертые вследствие неправильного ввода PIN кода, так как их восстановление невозможно. Безусловно, для таких сложных устройств как смарт-карта и COS необходим определенный период проверки, чтобы впоследствии не оказалось, что пользователь должен дорого заплатить за ошибки, обнаруженные в системе. В случае с SenseLock можно говорить о высочайшем уровне надежности, который был достигнут командой профессионалов, разработавших не только надежную COS но и систему всестороннего тестирования ключа, а также тысячи пользователей, интегрировавших в свои продукты ключи SenseLock EL, установленные на данный момент более чем на 300,000 компьютеров по всему миру.
Компания разработчик ПО Guangzhou Yuangfang занимает позицию, восхищающую всех производителей программного обеспечения для дизайна интерьеров в Китае. Эта компания уделяет максимум внимания борьбе с пиратством и старается уменьшить его влияние на продукт, начиная с самой первой версии. Основываясь на осознании того вреда, который наносит пиратство индустрии программного обеспечения, специалисты компании применяли ключи второго и третьего поколения, используя современные технологии защиты и отслеживая новости в области взлома. В 2002 году компания приняла стратегическое решение внедрить ключи нового поколения с функцией защищенного выполнения кода. Проанализировав совокупность факторов, таких как криптографические возможности, открытость, скорость выполнения доступность и многих других, компания остановила выбор на SenseLock EL. До настоящего времени не найдено корректно работающих взломанных версий программы.
Founder Group – лидер в разработке и создании электронных систем печати китайских иероглифов, и занимающая нишу более чем 80% на рынке Китая, предоставляет программное обеспечение для большинства печатных домов и изданий. Основанная в 1993 году, компания использовала для защиты продукт из США, но не смотря на это решила сменить защиту, так как не могла более сдерживать убытки от пиратства и выбрала продукт, который действительно гарантировал поддержку и предоставлял надежную защиту. Начиная с мая 2004 года после полугодовых тестов различных отделов компании, Founder подписал контракт с SenseLock и использует SenseLock EL для защиты. Это дало мощный толчок к привлечению дополнительных средств, которые были потрачены на укрепление рыночной позиции и совершенствование технологии.
Кирлионикс Технолоджис Интернейшнл – крупный производитель научного оборудования и программного обеспечения, продающий продукцию по всему миру. Устав от пиратства и воровства дилеров в 2004 году, заказал защиту от компании “Секьюлэб”. Два года разработанное компанией программное решение с применением обычного электронного ключа израильского производства сдерживало пиратство, но нарастающая угроза привела руководство компании к мысли о смене поставщика электронных ключей. В 2007 году компания “Секьюлэб” адаптировала систему защиты, переключив ее на использование ключей SenseLock EL. Помимо того, что проблем с пиратством удалось избежать, в компании сообщают, что постоянно получают положительные отклики от конечных пользователей, довольных дизайном ключа и тем, что ему не нужен дополнительный драйвер.
После того, как на рынке появилась инновационная технология смарт-карт, SenseLock EL стал не только устройством защиты, но и привнес новый концепции в развитие технологии и позволил производителям удачно сочетать защиту с такими функциями как лицензирование и управление контентом.
Только представьте, мобильный телефон прошлого и новый современный аппарат, буквально напичканный функциями! Игры, интернет, органайзер, онлайн-трейдинг! Это сравнение подойдет к обычным ключам и ключу SenseLock EL, который теперь позволит не только быть ключом защиты, но и откроет дополнительные возможности для вашего программного обеспечения.
Давайте, прежде всего, проанализируем преимущества и недостатки имеющихся на рынке методов продаж.
Основным недостатком традиционной схемы продаж является то, что до официального релиза производитель должен локально инициализировать ключ, сделав его тем самым функциональным. Стоимость программного обеспечения, таким образом, фиксируется.
Проблема случается потом, когда начинают выяснять, оплачен ли тот ли иной ключ дилером или он должен быть оплачен после инсталляции у конечного пользователя. Если они оплачиваются дилером, это приводит к большому отвлечению средств, что, безусловно, не скажется положительно на популярности программы. Если оплата производится после установки, какие гарантии может иметь компания-производитель, что ключ не используется, а лежит у дилера? И кто гарантирует честные отчеты о продажах? А что делать, если ключ теряется? Как поступать в такой ситуации?
Такие проблемы, как низкая ликвидность капитала, недостаточный контроль и невозможность управлять конечными пользователями традиционно негативно сказываются на издателях ПО и требуют от них огромных материальных и временных затрат, чтобы поддерживать офисы, каналы сбыта и доставки, точки распространения и офисы продаж. Огромные убытки издатель несет в случае сотрудничества с “черным дилером”, когда, по сути, дилер превращается в пирата, расхищая огромные средства и используя ресурс издателя.
Один из основных клиентов, компания Beijing Morrowsoft Technology Co Ltd, являющаяся лидером в области архитектурных решений на рынке Китая, разработал и внедрил совершенно новую систему продаж: ПО поставляется с пустым ключом, который не представляет особой ценности, и как только пользователь опробовал программное обеспечение, он производит оплату. После этого Morrowsoft получает подтверждение и соответствующий активационный код передается пользователю через интернет. После этого код активирует необходимую лицензию через систему обновлений. Таким образом проблема полностью решается.
Описанная выше система распространения применима, прежде всего, в больших и средних компаниях, с большими объемами продаж и огромным количеством каналов распространения. Для мелких и средних компаний достаточно использования системы удаленного обновления для изменения лицензий, что сразу начнет приносить результат в виде экономии времени и средств.
Обычно пользователь, купивший часть модулей, в будущем планирует закупить новые модули или при выходе новой версии программы, добавляется новая функциональность и прошивку ключа необходимо обновить. Для этого, при обычной схеме, ключ надо забрать у пользователя, взамен предоставить ему новый, либо вернуть прошитый заново ключ. Это, безусловно, требует больших материальных затрат и приведет к простоям на стороне пользователя.
Утилита безопасного удаленного обновления легко может позволить решить поставленную задачу. С ее помощью легко можно создать защищенное обновление и отправить ее через Internet конечному пользователю не боясь взлома. По сути, такая возможность сама по себе является отличным дополнением для издателя и сокращает его издержки на разработку и поддержание подобной системы.
Beijing Tansuozhe – один из наших основных клиентов, разработал CAD систему с огромным набором модулей. Производитель начал использовать SenseLock EL в 2004 году и сразу внедрил систему удаленного обновления. И теперь пользователь, который захотел купить несколько дополнительных модулей, получает пакет обновления, который загружается в ключ. При этом, пакет обновления является уникальным и создается под каждого пользователя. Одним кликом мышки пакет обновления засылается в ключ, включая дополнительные модули.
Помимо этого Beijing Tansuozhe не упускает момента поменять способ защиты при выходе новых релизов, дабы сократить до минимума возможности взлома его продукта.
Традиционный способ продаж программного обеспечения меняется в соответствии с конкуренцией и требованиями пользователей. Эксперты по всему миру считают, что вскоре традиционная схема продажи, когда пользователь единовременно платит за ПО и потом использует его, полностью будет заменена схемой, когда лицензия на использование предоставляется на определенный срок, либо выкупается постепенно (так называемая лизинговая схема). Внедрение временной схемы гарантирует производителю приток новых клиентов, снижение рисков и получение дополнительных конкурентных преимуществ.
Ключ SenseLock EL RTC со встроенным таймером реального времени и календарем позволит реализовать совершенно новый подход к продажам, где оплата происходит в момент установки на компьютере клиента, а продажа заменяется лизинговым платежом. Внедрение такой схемы снижает риск для конечного пользователя, не нанося при этом урона разработчику.
Решение может быть создано с использованием встроенного таймера реального времени и ключа-посредника. Когда период авторизованного использования продукта заканчивается, ключ SenseLock EL автоматически блокируется, а при подтверждении платежа, с помощью ключа-посредника создается файл обновления, который продлевает действие лицензии.
Решение с временным лицензированием и активацией с момента установки очень востребованы на рынке и SenseLock EL наиболее подходящий продукт для этих целей.
Производители по всему миру начали использовать схему лизинговых продаж программного обеспечения раньше чем в Китае. SSI of Japan специализируется на создании программного обеспечения для салонов красоты и медицинских центров в Японии. Пользователи оценили возможность покупки программного обеспечения в лизинг, потому что такая схема уменьшает отвлечение капитала и минимизирует риск. Для создания такой схемы президент компании специально приехал в Пекин, чтобы выбрать средство защиты класса High-End и остановил свой выбор на SenseLock EL .
В Китае также многие производители начали применять такую схему продаж и подстраивать под нее свои каналы сбыта. Guangdong Yuanyang Science and Technologies Co Ltd, один из основных клиентов, после того, как убедился в надежности продукта за год использования, построил на его основе новую систему продаж с использованием оплаты после установки ПО и лизинговую схему расчетов. Таким образом, конечный пользователь получил возможность без отвлечения средств получить для использования дорогой продукт, в то же время, производитель значительно увеличил свою долю на рынке и гарантировал постоянный приток денежных средств.
Здоровая конкуренция на рынке и разделение пользовательских предпочтений требуют от производителя кооперации с другими компаниями, например компания – разработчик программ и компания – поставщик электронных компонентов поставляют вместе на рынок один продукт. Такая кооперация позволяет производителю программного обеспечения улучшать качество своего продукта, при этом огромное количество проблем все же существуют и прежде всего в сфере защиты авторских прав.
Традиционное решение проблемы предполагает использование нескольких ключей для различных модулей, созданных разными производителями. В конечном счете, это приводит к неудобствам и проблемам конечных пользователей, увеличению времени и стоимости сопровождения продукта со стороны производителей.
Защита SenseLock EL в области разделения прав может решить эту проблему. Различные каталоги энергонезависимой памяти ключа, которые напоминают каталоги и подкаталоги обычной файловой системы, их независимые коды доступа и разделение контроля доступа (PIN + firewall) позволяют сохранять информацию различным производителям при этом не нанося какого либо ущерба безопасности решения в целом. В этом случае два производителя смогут координировано разделить ключ для использования каждый в своих целях, без возможности производить какие либо действия с информацией партнера.
Beijing Xiangliangfeida Company разработала ядро программы контроля лазерной гравировальной машины, востребованной по всему миру. Далее, компания-партнер производит локализацию и создает интерфейс более высокого уровня, создавая конечный продукт, локализованный и востребованный на местном рынке. Xiangliangfeida и партнеры хотели отдельно защитить свои интересы, но при этом не хотели использовать различные ключи и, безусловно, их выбор пал на SenseLock EL. В настоящее время система защиты разработана и приносит свои плоды разработчикам. Эта система, разработанная в Китае, произвела огромное впечатление на заграничных партнеров.
Все приложения, созданные на основе SenseLock EL используют расширенные возможности продукта, такие как асимметричное и симметричное шифрование, алгоритм хэширования и генератор случайных чисел, а также систему удаленного обновления, созданную специалистами компании SenseLock.
Все реализованные алгоритмы в теории являются достаточно защищенными и используются в различных отраслях промышленности по всему миру, не представляя никакой угрозы безопасности при их использовании. В случае использования “авторских” алгоритмов нет никакой возможности оценить их надежность и в конечном счете, как неоднократно показывала практика, их использование приводит к взлому всей системы защиты в целом.
С использованием криптографических возможностей ключа SenseLock EL, производитель программного обеспечения может создать любой функционал, требуемый для его продукта.
SenseLock EL – это устройство, обладающее всеми необходимыми элементами для того, чтобы построить надежную и функциональную защиту, удобную для конечного пользователя. Воплотив новый способ продажи ПО с помощью SenseLock, вы привлечете дополнительных клиентов, а надежная защита не позволит поставить под угрозу ваш бизнес. Разработчики будут приятно удивлены поддержкой и простотой интеграции, конечные пользователи останутся довольны дизайном и простотой использования ключа, а менеджмент – результатами продаж.
Большинство существующих на данный момент электронных ключей предоставляют лишь возможность для проверки своего наличия, функции шифрования и расшифровки данных универсальным для всех ключей алгоритмом, а также хранения обычных данных.
Это позволяет как просто отключать проверку ключа в программе, так и создавать “универсальные” программные эмуляторы, которые создают видимость полной функциональности ключа для программного обеспечения.
При использовании электронных ключей SenseLock принцип защиты кардинально изменяется.
После вынесения функций из программы в ключ, подобные технологии взлома становятся невозможными, так как для этого взломщику необходимо знать алгоритм программы, который был помещен в электронный ключ и является абсолютно уникальным для каждого разработчика. Исполняемый в электронном ключе код не может быть извлечен для анализа и последующей эмуляции благодаря используемому высокозащищенному чипу, выполненному по технологии смарткарт.
SenseLock EL | Обычный ключ | |
---|---|---|
Метод защиты | 100% надежная в теории технология переноса кода
и данных |
Ненадежная в теории технология проверки запросов
и ответов |
Чип | Сертифицированный по стандарту ISO и получивший самый
высокий возможный на сегодняшний день уровень EAL5+ |
Серийные, легко вскрываемые чипы или ненадежные
собственные разработки |
Операционная система | Операционная система смарт-карты, созданная по стандарту
ISO, гарантирующая отсутствие “закладок” |
Обыкновенная прошивка, потенциально содержащая
закладки и инженерные пароли |
Память | До 64-х килобайт для хранения данных и кода | До 4-х килобайт для хранения данных |
Алгоритмы | DES, TripleDES, SHA-1 – реализованы в специальном
процессоре |
Собственные ненадежные алгоритмы, реализованные, как
правило, в драйвере |