Este é um problema de DRM e não há realmente uma resposta segura. Você precisa usar criptografia para que apenas A possa assinar os dados como autênticos, mas isso requer que A conheça um segredo que possa ser descoberto pelo usuário do computador, assim eles podem falsificar as informações.
Você poderia tentar fazer com que o servidor B, em algum lugar, assinasse os dados para que o dono do sistema A estivesse em execução não o fizesse, mas como B sabe que está realmente falando com um programa legítimo A e não algo o usuário cozinhou. Não há como determinar isso também.
A única maneira real de fazer isso é fazer com que cada ação importante aconteça como resultado de algo no servidor, bem como todos os critérios que precisam ser corretos para garantir uma versão adequada dos dados. É por isso que a lógica do lado do servidor é muito usada em MMOs e em alguns outros jogos online para evitar fraudes. Se você não possui e controla o hardware, não pode confiar nele. O DRM tenta, mas é uma batalha perdida a menos que cheguemos a um ponto em que o usuário que possui o sistema seja apenas um "convidado" de algum terceiro que realmente execute o sistema, e isso é um mundo muito assustador por muitas outras razões.