gpt4 book ai didi

android - 验证 Android 等智能手机应用程序的不同方法

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:52 25 4
gpt4 key购买 nike

我正在寻找不同的方法来验证客户端,如 android、iphone、windows 和 blackberry 应用程序,哪个更好,为什么

根据我的研究,我知道有两种验证客户端的方法1. 嵌入在智能手机应用程序中的私钥将用于签署消息:问题是黑客很容易获得私钥2.客户端证书

还有其他方法可以验证这些智能手机应用程序吗?哪种方法最安全?

最佳答案

您在此处列出的两个选项实际上是相同的。客户端证书实际上只是私钥/公钥对的公钥部分,由某个实体连同一些标识信息一起签名。

验证客户端的最佳方法是使用相互验证的 SSL。您可以在此处使用自签名证书,这样您就无需从 CA 购买任何证书,前提是您控制了所有要允许访问的客户端,并且您控制了它们将要与之通信的服务器。这将确保您的客户端仅从您的合法服务器接收数据(将您的应用程序的 SSL 系统配置为仅接受您的服务器正在使用的自签名证书)并且您的服务器仅接受来自您授权客户端的数据(将您的服务器配置为仅访问部署在您的应用程序中作为客户端身份验证资源的自签名证书)。在 Application Security for the Android Platform 中有关于如何为 Android 执行此操作的完整分步说明。 , 由 O'Reilly 出版。

您是正确的,因为您需要在客户端应用程序中嵌入一些 secret 信息(私钥),攻击者将能够破坏它。您现在在 Android 中拥有的最佳解决方案是将证书和私钥放入您作为资源包含在您的应用程序 APK 中的 keystore 中,并让您的应用程序在需要使用该 key 时访问该 keystore 。这意味着您的应用程序需要有 keystore 的密码。因此,如何保护该密码变得很重要。您可以混淆您的代码,使攻击者更难确定该密码,但这只会减慢对您的应用程序进行逆向工程的确定攻击者的速度。但是,如果不要求设备用户在每次他们想要使用您的应用程序时都输入该密码,那是您可以做的最好的事情。如果在设备上运行的客户端应用程序需要访问它存储的内容,那么有权访问该设备的人也将能够访问它。你所能做的一切都会让它变得更加困难。

关于android - 验证 Android 等智能手机应用程序的不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9291192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com