我正在构建一个连接到后端的应用程序。 后端受到应用程序在首次启动时必须发送的一些凭据的保护,以便检索身份验证令牌和刷新令牌(即使用户从未进行身份验证)。这些机器凭据对于每个客户端都是唯一的(一个用于Android应用程序,一个用于iOS应用程序)。此外,它们通过HTTPS在请求的标头中发送。
我目前正在做的是在Android应用程序代码中对这些机器凭据(ID和机密)进行硬编码。
现在,在iOS上,该应用程序以二进制形式发货,因此反向工程和检索硬编码凭证非常困难。
另一方面,Android应用程序以dex代码发货,可以轻松进行反向设计。这样,即使启用了Proguard,任何人都可以从代码中读取这些机器凭据。
我不是安全方面的专家,但是有什么方法可以避免这种情况吗?或者这种做法是错误的吗?