На сервере в аккаунте регистрируется программа, выдаётся id
На клиенте, вводится id в клиенте есть статичный ещё один id сервер знает какой два id склеиваются и от них делается sha256
идёт запрос к серверу регистрации клиента
На сервере, сервер получает запрос с sha256 хешем, он берёт изветные ему статический id клиента и из базы ещё id делает от них sha256, сверяет и тем самым подтверждает что всё в порядке далее берёт свой статический id и склеивает с хешем который пришёл и делает от этого ещё sha256 отсылает ответ клиенту
клиент знает статический id сервера он склеивает свой запрос и id сервера делает sha256 от них и сравнивает с ответом сервера
если всё с обеих сторон прошло нормально они уверены что они это они, всё это внутри https
id типа что выдаёт uuidgen