swd » Чт, 20 мар 2014 11:48
Тут надо понять для чего вы это хотите сделать.
смысл этого в том чтобы злоумышленник не мог со скана обмена получить необходимую информацию.
Сама защита должна быть в исполняемом модуле, криптование обмена всего лишь дополнение к ней.
Любую программу можно сломать, вопрос в том какие для этого нужно будет привлекать ресурсы.
Вы можете хранить секретный ключ в сенселоке, а публичный к примеру передавать. (но он постоянный, а значит в принципе подбираемый, в обозримом будущем)
вы можете так же сделать протокол завязанный на серийник вашего сенселока,
и при помощи команд получать оттуда данные, благодаря чему криптовать открытый ключ передаваемой программе.
а оно надо ?
Смысл предлагаемой защиты сводиться к следующему.
1. генерим пару RSA ключей.
2. Передаем публичный ключ (пусть смотрят и бояться)
3. при помощи полученного ключа в сенселоке формируем сеансовый ключ, криптуем его RSA и отправляем программе.
4. Программа декриптует используя приватный ключ сеансовый ключ, и использует его для дальнейшего криптования трафика.
Итог простой, для декриптовки обмена нужно под отладчиком иметь пару ключей, разобрать весь трафик, и понять ... как в функцию передаются параметры ...
т.е. за работу хакеру заплатили, а что получили ?