Использование RSA для защиты файлов лицензий

Я хочу использовать RSA для защиты файлов лицензий в приложении. Идея заключается в следующем:

  1. Создайте файл лицензии (открытый текст).
  2. Создайте пару ключей RSA.
  3. Используйте открытый ключ для шифрования файла лицензии.
  4. Поместите закрытый ключ в двоичный файл приложения.
  5. Затем приложение может декодировать файл лицензии и начать работу.

Дело в том, что я должен отправить закрытый ключ с моим приложением. Будет ли проблемой, если я сохраню открытый ключ в секрете?

Если нет, то какие еще существуют хорошие (достаточно) схемы для создания лицензионно-файловой системы?


person Bart Friederichs    schedule 10.07.2012    source источник


Ответы (1)


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

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

Это может дать некоторые идеи о том, как другие люди используют криптографию с открытым ключом для создания лицензионных файловых систем: http://www.codeproject.com/Articles/203840/RSA-License-Protection

person Gian    schedule 10.07.2012
comment
Я подумал. Возможно, цифровая подпись могла бы работать лучше? ... (редактировать: я должен сначала прочитать, кажется, это то, что вы предлагаете в этой ссылке ;-P) - person Bart Friederichs; 10.07.2012
comment
Да, это, безусловно, было бы еще одним хорошим решением. Думаю, схема RSA в ссылке переживет хотя бы случайные попытки ее обойти. - person Gian; 10.07.2012