обновление ключа = снятие дампа?

Общие вопросы по защите программного обеспечения

обновление ключа = снятие дампа?

Сообщение jocker1331 » Ср, 23 апр 2008 12:17

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

значит ли это что снять дамп этого ключа будет проще (ну а написать эмулятор не составляет никакого труда)?
или вы ставите спец драйвер в систему? (что, впрочем не сильно защитит от взлома (ломали и старфорс (хотя ребята там молодцы, ассемблер знают)))). А если я НЕ желаю ставить сторонний драйвер на свою систему (это связано с политикой безопасности)?
я видел эмуляторы ключей, в которых вся программа шифруется и декриптуется ключем на лету (нечто вроде защиты Armadillo). Это НЕ спасло ее...

что вы можете сказать по вышеприведенному?
jocker1331
 
Сообщения: 3
Зарегистрирован: Ср, 23 апр 2008 12:09

Сообщение hijaq » Ср, 23 апр 2008 12:39

значит ли это что снять дамп этого ключа будет проще (ну а написать эмулятор не составляет никакого труда)?
или вы ставите спец драйвер в систему? (что, впрочем не сильно защитит от взлома (ломали и старфорс (хотя ребята там молодцы, ассемблер знают)))). А если я НЕ желаю ставить сторонний драйвер на свою систему (это связано с политикой безопасности)?
я видел эмуляторы ключей, в которых вся программа шифруется и декриптуется ключем на лету (нечто вроде защиты Armadillo). Это НЕ спасло ее...

что вы можете сказать по вышеприведенному?


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

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

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

А теперь как это всё примерно выглядит "в жизни" на самом деле.

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

2. Дополнительно в ключ помещаются исполняемые модули системы удаленного обновления и прописывается пароль.

3. Разработчик отдает клиенту программу и ключ. Все довольны, все работают.

4. Прошло время. Разработчик выпускает новую версию программы с добавленными новыми функциями и усовершенствованными старыми. Соответственно, изменяются и исполняемые модули, расположенные в ключе. Разработчик шифрует новые исполняемые файлы с паролем (по желанию, он может делать персональные обновления, в ключи других пользователей они не смогут быть установлены) и отсылает пользователю новую версию программы.

5. Пользователь устанавливает новую версию программы и производит обновление (а скорее всего разработчик сделает его автоматическим) исполняемых модулей в ключе.

6. Все довольны, все работают.
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Сообщение jocker1331 » Ср, 23 апр 2008 12:53

о-вторых, система удалённого обновления не позволяет читать что-либо из ключа
я думал безопасность в плане возможности отката)
2. Дополнительно в ключ помещаются исполняемые модули системы удаленного обновления и прописывается пароль.
хм.. а что мешает взломщику получить пароль этот и дешифровать обновление ?
jocker1331
 
Сообщения: 3
Зарегистрирован: Ср, 23 апр 2008 12:09

Сообщение hijaq » Ср, 23 апр 2008 13:21

я думал безопасность в плане возможности отката)


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

хм.. а что мешает взломщику получить пароль этот и дешифровать обновление ?


Каким образом взломщик будет что-либо читать из ключа?
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Сообщение jocker1331 » Чт, 24 апр 2008 22:31

Каким образом взломщик будет что-либо читать из ключа?
влоть до использования спец оборудования (собственно так недавно мы и снимали данные с ключа одного банка(то был заказ этого же банка) )...

однако есть и другая проблема. проблема обновлений.
итак мы имеем 2-а ключа. разные ли в них ключи шифрования? если да, то придется делать 2-а обновления (что очень сильно нагрузит службу IT(сборкой ПО они у нас занимаются)) ?
если нет, то возможна ситуация покупки "недорогого ключа"+его прошика моим обновлением.
если ключи шифрования делаются "для меня" то это тоже не полностью решает проблему : я выпускаю не одну линейку продуктов разной стоимости (и впринципе там повториться ситуация с перепрошивкой более дорогой версии может)... также не хотелось бы иметь гемороя с вашим servicedesk-ом в плане заказа ключей "для себя"....

кстати, какой алгоритм шифрования используется для шифрования обновлений ? (эта информация не может иметь практического смысла для взломщика, я пологаю, вы это знаете).
jocker1331
 
Сообщения: 3
Зарегистрирован: Ср, 23 апр 2008 12:09

Сообщение hijaq » Пт, 25 апр 2008 00:17

влоть до использования спец оборудования (собственно так недавно мы и снимали данные с ключа одного банка(то был заказ этого же банка) )...


О, спец. оборудование... Можно поинтересоваться, с каких чипов вы снимали данные и каким оборудованием?

однако есть и другая проблема. проблема обновлений.
итак мы имеем 2-а ключа. разные ли в них ключи шифрования? если да, то придется делать 2-а обновления (что очень сильно нагрузит службу IT(сборкой ПО они у нас занимаются)) ?
если нет, то возможна ситуация покупки "недорогого ключа"+его прошика моим обновлением.


Разные или одинаковые ключи шифрования - зависит от желания разработчика программы. В обоих вариантах у него есть возможность привязки обновления к dongle id и тогда его установка в другие ключи будет невозможна в принципе. Это раз. Два - обновление лишь обновляет исполняемые модули, используемые в ключе и по идее, они должны быть у всех одинаковые и так, а лицензии (если используется наша система лицензирования) на различные опции вводятся и обновляются совершенно отдельно и они так же могут быть (и, по моему мнению, должны быть) привязаны к dongle id. Создание лицензий с привязкой к определённому dongle id по трудозатратам службы поддержки ничем не отличается от создания лицензии вообще. В общем, опять не вижу никаких проблем.

если ключи шифрования делаются "для меня" то это тоже не полностью решает проблему : я выпускаю не одну линейку продуктов разной стоимости (и впринципе там повториться ситуация с перепрошивкой более дорогой версии может)... также не хотелось бы иметь гемороя с вашим servicedesk-ом в плане заказа ключей "для себя"....


Это всё тоже пока непонятно о чём и к чему. У нас разработчики программного обеспечения заказывают пустые ключи, мы не прошиваем в них ничего, ничего не устанавливаем (за исключением случаев, когда нам полностью заказывают создание защиты, но это отдельный разговор) и, соответственно, никакой речи о "заказе ключей для себя" у нас и об участии нашего servicedesk'а во всём этом процессе не идёт в принципе.

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


Конечно, выбирая алгоритмы шифрования мы исходили из того, что их знание никоим образом не должно помогать вскрытию и не занимались выдумыванием собственных "супер"-алгоритмов. Использованные нами алгоритмы открыты и криптостойки. Я думаю, этой информации достаточно.
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50


Вернуться в Защита программного обеспечения

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron