значит ли это что снять дамп этого ключа будет проще (ну а написать эмулятор не составляет никакого труда)?
или вы ставите спец драйвер в систему? (что, впрочем не сильно защитит от взлома (ломали и старфорс (хотя ребята там молодцы, ассемблер знают)))). А если я НЕ желаю ставить сторонний драйвер на свою систему (это связано с политикой безопасности)?
я видел эмуляторы ключей, в которых вся программа шифруется и декриптуется ключем на лету (нечто вроде защиты Armadillo). Это НЕ спасло ее...
что вы можете сказать по вышеприведенному?
Во-первых, могу сказать, что вы не поняли принцип работы как системы удаленного обновления, так и электронных ключей SenseLock.
Во-вторых, система удалённого обновления не позволяет читать что-либо из ключа. А сами файлы обновления зашифрованы и пароль для расшифровки находится только в двух местах - внутри ключа и у разработчика. Расшифровка файлов обновления происходит также внутри ключа, поэтому никакой возможности "сдампить" данные у взломщика нет.
В-третьих, никаких дополнительных драйверов мы не ставим, так же как и не используем каких-либо других анти-отладочных механизмов. Мы не считаем это необходимым при работе с нашими ключами и вреда конечным пользователям от различных спец.драйверов больше, чем пользы для разработчика программы.
А теперь как это всё примерно выглядит "в жизни" на самом деле.
1. Разработчик переносит в электронный ключ часть алгоритмов своей программы, а вместо них делает вызовы ключа со всеми необходимыми параметрами. Из ключа программа получает уже посчитанный результат и далее использует в своей работе. Число входных и выходных значений, если функция выбрана правильно, не позволит создать табличный эмулятор. О полном эмуляторе речи вообще не идёт.
2. Дополнительно в ключ помещаются исполняемые модули системы удаленного обновления и прописывается пароль.
3. Разработчик отдает клиенту программу и ключ. Все довольны, все работают.
4. Прошло время. Разработчик выпускает новую версию программы с добавленными новыми функциями и усовершенствованными старыми. Соответственно, изменяются и исполняемые модули, расположенные в ключе. Разработчик шифрует новые исполняемые файлы с паролем (по желанию, он может делать персональные обновления, в ключи других пользователей они не смогут быть установлены) и отсылает пользователю новую версию программы.
5. Пользователь устанавливает новую версию программы и производит обновление (а скорее всего разработчик сделает его автоматическим) исполняемых модулей в ключе.
6. Все довольны, все работают.