Суть задачи: разрабатывается ASP.NET приложение которое будет продаваться.
Для того чтобы приложение не крали и использовали тот срок который оплатили — middleware комплекса запрашивает лицезию с сервера: {ip-адрес и дата срока истечения}.
Сейчас данные не шифруются и по запросу выдаются методом GET сервером лицензий.
Для того чтобы зловредные хаккеры не подменили путь к серверу лицензий и не подсовывали свои лицензии на любые ip и любые сроки — необходимо шифровать данные
использование сертификатов сразу отвергается — во-первых это нереально, а во-вторых что мешает в браузере выполнить запрос к серверу лицензий, увидеть ответ в открытом виде в сеансе https, затем подменить адрес сервера, кторый будет генерить нужный ответ
Нужен стандартный надежный метод шифрования.
Помогите плз
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, <Аноним>, Вы писали:
А>>Нужен стандартный надежный метод шифрования. А>>Помогите плз
AVK>Можешь просто подписать свою лицензию при помощи System.Security.Cryptography.DSACryptoServiceProvider на сервере, а потом проверять ее у клиента.
так этот провайдер недоступен из IIS процессов — для этого надо иметь права доступа к unmanaged коду — что есть дырка, но другая в безопасности приложения
Здравствуйте, Аноним, Вы писали:
А>так этот провайдер недоступен из IIS процессов — для этого надо иметь права доступа к unmanaged коду — что есть дырка, но другая в безопасности приложения
Вынеси обращение к этому провайдеру в отдельную подписанную сборку, закрой [AllowPartiallyTrustedCallers] и назначь ей или ключу, которым она подписана, full trust в политике. И не будет никакой дырки.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Аноним, Вы писали:
А>>так этот провайдер недоступен из IIS процессов — для этого надо иметь права доступа к unmanaged коду — что есть дырка, но другая в безопасности приложения
AVK>Вынеси обращение к этому провайдеру в отдельную подписанную сборку, закрой [AllowPartiallyTrustedCallers] и назначь ей или ключу, которым она подписана, full trust в политике. И не будет никакой дырки.
А почему Вы рекомендуете этот провайдер? а как на счет RJNdael?
а второй вопрос по ключам как их хранить или может из чего-то генерить их?
Здравствуйте, Аноним, Вы писали:
А>Суть задачи: разрабатывается ASP.NET приложение которое будет продаваться. А>Для того чтобы приложение не крали и использовали тот срок который оплатили — middleware комплекса запрашивает лицезию с сервера: {ip-адрес и дата срока истечения}.
Предлагаю другой путь — если уж есть сервер, который обрабатывает запросы на лицензию, почему не перенести часть логики описываемого приложения на него, в виде web-сервиса? А там и анализировать, кто и с какого IP обратился.