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