Как избежать подмены открытого ключа? - PullRequest
0 голосов
/ 27 августа 2011

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

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

Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 августа 2011

Не используйте файл лицензирования. Каждый раз, когда приложение запускается, подключите его к серверу лицензирования для проверки.

0 голосов
/ 27 августа 2011

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

...