Я пишу небольшую клиентскую программу для запуска на терминальном сервере. Я ищу способ убедиться, что он будет работать только на указанном сервере, и в случае его удаления с сервера он перестанет работать.
Я понимаю, что нет никаких способов сделать это на 100% безопасным, тем не менее я хочу, чтобы это было трудно для большинства опытных пользователей.
Я рассматривал различные уникальные идентификаторы, такие как идентификатор процессора, идентификатор продукта Windows, идентификатор компьютера и другие пользовательские интерфейсы. Поскольку сервер терминалов является виртуальной машиной, я не могу найти ничего, что полностью уникально для этой машины.
Любые идеи о том, что я должен изучить, чтобы сделать это в основном безопасным. У меня нет времени или необходимости сделать его максимально безопасным, потому что он победит цель самого приложения.
Я не хочу использовать MAC-адрес пользователя. Несмотря на то, что он уникален для каждой машины, его можно подделать, следуя инструкциям в Интернете.
Что касается идентификатора продукта Microsoft, потому что наша системная команда клонирует серверы VM, и мы используем корпоративный ключ тома, я обнаружил, что уже два сервера, к которым у меня есть доступ, имеют одинаковый идентификационный номер продукта. У меня нет идеи, сколько других там, у которых одинаковый идентификатор продукта
Альтернативно вместо того, чтобы пытаться идентифицировать машину, мне может быть лучше, идентифицируя пользователя и создавая разрешение на основе группы, обрабатываемое через AD для доступа к этому программному обеспечению.