На сервере ключ уворуют или внедрят код, который уворует.
На клиенте если просчитывать - тоже подменят скрипты и смогут уворовать.
Вижу пока что только один вариант - если в качестве клиента будет использоваться программа, подписанная ЭЦП автора, которая не будет полностью доверять серверу. А при скачивании обновлений проверять их ЭЦП и только тогда ставить. В итоге даже если сервер взломают, то не получат ключ, которым автор подписывает программу, и не подменят её, а ключи пользователей дальше клиента никуда не уйдут. Хотя и тут могут подменить инсталлятор программы, но получат его только новые пользователи.