Qual a melhor maneira de proteger uma credencial HTTP BASIC em meu aplicativo Android?

Então, meu problema é o seguinte… Estou desenvolvendo um app Android onde ele é alimentado basicamente por uma API REST básica que desenvolvi para acessar os dados da minha base de dados remota. Pela complexidade da implementação, optei por usar autenticação HTTP BASIC + https, e tudo esta funcionando bem.

Agora que estou próximo de começar o beta do meu app, estou bastante preocupado com a segurança da credencial usada na autenticação HTTP BASIC pelo lado do cliente( minha app Android), já que atualmente ela esta em duas constants em uma de minhas classes java. Ou seja, abrir o .apk seria o suficiente para ter acesso a credencial de autenticação. E mesmo que o codigo esteja ofuscado existem n videos no youtube ensinando como fazer engenharia reversa no apk, o que deixaria o processo de chegar a credencia somente um pouco mais demorado. SharedPreference também não é uma boa ideia, já que aplicativos com root tem fácil acesso aos arquivos gerados pelo sharedpref.

Bom, levando tudo isso em consideração, existe uma maneira segura de eu proteger a credencial de autenticação HTTP BASIC em meu aplicativo android? Achei um link interessante no stackoveflow , mais sou ‘novato’ no Android e java e nao sei se isso funcionaria. Estou perdido sobre este assunto e gostaria da ajuda de vocês. Toda opnião é bem vinda.

Lembrando que a minha API REST tem que ser privada, provendo dados somente para meu app e ninguém mais.

Grato =)

De fato, guardar qualquer informação no aparelho do usuário é passível de fraude. Então, se você precisa garantir que sua API envie dados apenas para sua app, recomendo usar alguma forma mais interessante de autenticação baseada em tokens válidos por algum intervalo de tempo.

Uma ideia bem interessante seria usar OAuth2. O pessoal do Apache tem um projeto bem interessante que pode ser aplicado no Android e no seu servidor chamado Apache OLTU.

Era o que eu suspeitava Felipe. Você por acaso teria algum tutorial ou exemplo simples da implementação do Apache OLTU para me indicar? No site deles há somente alguns fragmentos de codigo…

Dá uma olhada nesse repositório.