Уязвимость оффлайн активации и деактиваци

Issues related to WebLM
andvl
Posts: 13
Joined: Thu Jan 16, 2020 11:07 am

Уязвимость оффлайн активации и деактиваци

Postby andvl » Fri Apr 23, 2021 8:15 am

Зачем нужна и почему важна деактивация?
Мы поставляем клиенту программу и код активации, который позволяет ему работать только на его компьютере.
Но пользователь хочет перейти на ноутбук. Он деактивирует код активации на компьютере. Устанавливает программу на ноутбук и активирует ее там. Таким образом, пользователь может работать на любом компьютере, но только на одном. Ему удобно, и мы спокойны - программа не распространяется бесконтрольно.
Но, вот в чём проблема.
При оффлайн активации пользователь получает на руки серийный номер для компьютера. Потом он деактивирует код активации на компьютере, переносит программу на ноутбук. Но серийный номер, который он может сохранить, остаётся исправным для компьютера. И его можно опять ввести через оффлайн форму. Таким образом, программа будет на двух компьютерах, или больше, пользователь может распространять программу среди друзей.
Можно, конечно, в программе запоминать деактивированные серийные номера, но это как-то надо их сохранять на компьютере, как это не очень привлекательно выглядит. Если бы был способ сделать данный серийный номер для данного компьютера неисправным? При том, что раньше до деактивации он был исправным.
Что скажете?

AlexB
Posts: 2
Joined: Thu Sep 17, 2020 4:17 pm

Re: Уязвимость оффлайн активации и деактиваци

Postby AlexB » Fri Apr 23, 2021 2:12 pm

Как вариант заблокировать ключ в менеджере лицензий и дать обновленный бинарник клиенту при обновлении. Старый ключ будет не валиден. Если клиент хочет пользоваться последней версией, ему прийдется использовать новый бинарник.

andvl
Posts: 13
Joined: Thu Jan 16, 2020 11:07 am

Re: Уязвимость оффлайн активации и деактиваци

Postby andvl » Fri Apr 23, 2021 3:17 pm

Да, спасибо за ответ.
Но, это как-то надо отслеживать все эти использованные ключи (может клиент 100 раз надумает деактивироваться). Как получать эти ключи автоматически через WebLM я вообще не очень понимаю. Потом навязываться с новым бинарником. Представляется всё это несколько морочным.
Наверное, я всё-таки выберу такой вариант: буду записывать хэши деактивированных серийников и при офлайн установке серийного номера проверять его хэш на совпадение. Это конечно, не очень глубокий уровень защиты. Хакер может найти где я храню эти хэши и просто стереть их. Но для обывателя нормально. А другим мои программы я думаю не будут нужны.
Спасибо ещё раз за участие.