Здравствуйте, mindsesoft, Вы писали:
M>Добрый день.
M>Все никак не могу определиться, как реализовать защиту своего сервиса от посторонних программ
.
M>Суть такова: на сервере имеется скрипт, который предлагает эксклюзивные данные. Имеется бесплатная программа, написанная мной, которая передает этому скрипту некоторые параметры, а взамен получает заветные данные. Проблема в том, что я крайне не хотел, чтобы кто-то другой, не пользующийся моей программой, мог пользоваться этим скриптом. Поэтому нужно данные шифровать. Но какой алгоритм лучше выбрать? Мне бы подошел RSA в чистом виде, но ведь программу могут декомпилировать и вытащить оттуда зашитый в нее секретный ключ
. Использовать для этого алгоритм Диффи-Хеллмана? Но ведь другой человек может написать свой клиент, и сервер будет с ним исправно сотрудничать. В общем, что-то я окончательно запутался. M>Какие предложения?
Предложение простое — не заморачиваться и сделать открытый доступ

Программа то ведь всё равно бесплатная — какая разница, с помощью неё будут данные получать или с помощью другой самописной программы.
По существу вопроса: поскольку у вас нет контроля над удалённой системой, то абсолютно любая защита (включая криптографические брелки) не поможет серверу отличить "свой" код от "чужого". Другими словами, если я скачал/купил "вашу" программу, то ничто не помешает мне написать свою программу, которая с точки зрения сервера будет неотличима от оригинала. Было бы желание! (впоминается анекдот про Неуловимого Джо)