Я пытаюсь реализовать схему аутентификации, которая позволяет приложению-серверу проверять, является ли клиентский компьютер, который отправил ему информацию, действительным. Я думал о реализации чего-то похожего на это: сохранить в базе данных список всех машин, которым разрешен доступ, когда машина добавляется в системы, серверное приложение генерирует для нее идентификатор и сертификат с открытым и закрытым ключом сертификат и идентификатор будут установлены на клиенте. Когда клиентский компьютер запрашивает что-либо от серверного компьютера, он должен предоставить идентификатор, зашифрованный с помощью закрытого ключа. Если сервер может расшифровать указанный идентификатор, машина будет авторизована для выполнения запроса.
Я действительно не знаю, теоретически и на практике это действительная схема. Это приложение ASP.NET, использующее C #.