【发布时间】:2016-09-12 01:19:27
【问题描述】:
我们正在使用 React-Native 构建移动应用程序,需要将一些敏感数据(例如客户端密钥/密码)嵌入移动应用程序本身。
就安全性而言,这方面的标准做法是什么(最难进行逆向工程)?数据应该在原生代码级别作为常量、资源文件还是反应原生 javascript 文件?
【问题讨论】:
标签: reactjs react-native
我们正在使用 React-Native 构建移动应用程序,需要将一些敏感数据(例如客户端密钥/密码)嵌入移动应用程序本身。
就安全性而言,这方面的标准做法是什么(最难进行逆向工程)?数据应该在原生代码级别作为常量、资源文件还是反应原生 javascript 文件?
【问题讨论】:
标签: reactjs react-native
您可以使用像 react-native-keychain 这样的库,它使用 iOS 和 Android 上的本机钥匙串库。
【讨论】:
老问题,但真的,答案很明显,我对你得到的其他答案感到非常惊讶。
...需要嵌入一些敏感数据,例如客户端密码 键/密码进入移动应用程序本身。
没有。您不需要这样做。这在很多层面上都是糟糕的设计,不仅是安全方面的,因为你泄露了你的秘密。当您的客户机密泄露并且您需要快速更换它时会发生什么。你想打电话给你的所有用户并要求他们升级吗?
如果您需要调用第三方服务,那么您确实需要创建一个代理服务,根据用户的凭据对用户进行身份验证,然后使用您拥有的任何客户端身份验证来获取信息。
这与任何其他客户端 -> 服务器架构没有什么不同。您可以假设客户端上的任何内容都将被逆向工程。做起来也不难。
【讨论】: