Você não pode.
Você nunca pode verificar uma entidade, qualquer entidade , seja uma pessoa, cliente de hardware ou cliente de software. Você só pode verificar se o que eles estão dizendo para você está correto, então, assumir honestidade.
Por exemplo, como o Google sabe que está Estou acessando minha conta do Gmail? Eles simplesmente me pedem um nome de usuário e senha, verifique isso , então assuma a honestidade porque quem mais teria essa informação? Em algum momento, o Google decidiu que isso não era suficiente e acrescentou verificação comportamental (procurando por comportamentos estranhos), mas ainda está contando com a pessoa para fazer o comportamento , validando o comportamento .
Isso é exatamente o mesmo que validar o cliente. Você só pode validar o comportamento do Cliente, mas não o próprio Cliente.
Portanto, com o SSL, você pode verificar se o cliente tem um certificado válido ou não. Assim, basta instalar o aplicativo, obter o certificado e executar todo o código novo.
Então a questão é: Por que isso é tão crítico? Se esta é uma preocupação real, eu questionaria a sua escolha de um cliente gordo. Talvez você deva usar um aplicativo da Web (para não expor sua API).
Veja também: Derrotando a validação do certificado SSL para aplicativos Android
e: Quão seguros são os certificados SSL do cliente em um aplicativo para dispositivos móveis?