2014-11-15 2 views
0

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

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

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

Просьба дать мне ваше ценное предложение и идеи.

Заранее спасибо

+0

Используйте ключ. Вы не можете полностью контролировать приложение, если пользователь может контролировать выполнение приложения. –

ответ

0

Offline приложений, написанных на .net не может быть обеспечено. Вы не можете разумно «скрыть секреты» на какой-то машине elses. Для хранения этих секретов вам необходимо указать местоположение, которое вы контролируете (т. Е. Конечная точка веб-службы). Каждый, каким образом вы смотрите, в какой-то момент пользователь вашего приложения имеет всю свою логику и все ваши данные в своей среде; вы дали им замок и ключи и просто надеетесь, что у них нет настойчивости, чтобы открыть замок ключом.

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

Единственный способ предотвратить доступ пользователей к данным на своем ПК - это не помещать их на свой компьютер.

Смежные вопросы