Я думаю, что есть несколько решений, основанных на создании «отпечатка пальца» компьютера. Один клиентский сайт, на котором я находился, рассматривал это как способ обеспечения идентичности пользователей для единого решения. В конце концов они решили, что это слишком сложно и слишком легко, чтобы с ним расстаться, поэтому они сдались.
Идентификаторы процессора (я думаю) могут быть отключены в BIOS. Поэтому вам нужно найти что-то, к чему вы можете получить доступ, поэтому большинство людей предпочитают MAC-адреса. Но, как вы говорите, они могут измениться. Но так может и во всем остальном.
Возможно, вам стоит подумать о том, как часто что-то меняется? MAC может меняться, но как часто? в какое-то время, когда сетевая карта заменяется, действительно ли будет больно пользователю повторно устанавливать свой идентификатор с новой картой.
Возможно, это может сработать, так как при регистрации продукта попросите пользователя ввести пароль или фразу. Затем зарегистрируйте свои машины по MAC-адресу. Если они меняют сетевую карту, они могут связаться с вами с помощью пароля или фразы, и вы можете выполнить сброс с новым MAC-адресом. Это будет не так просто, но общая концепция может работать на вас.
Наконец, подумайте о вашем продукте в целом. Сколько работы стоит сделать, чтобы остановить неавторизованных пользователей? Не лучше ли вам принять этих пользователей и дать им повод зарегистрироваться? Возможно облегченная версия программного обеспечения, которое вы отдаете. Или регистрация на центральном сервере дает вам дополнительные данные и материалы и т. Д.
Есть довольно много различных бизнес-моделей, которые ходят по этой стороне, отступая от традиционной и все же зарабатывая.