gpt4 book ai didi

android - 仅允许在批准的设备上登录 Android 应用程序

转载 作者:搜寻专家 更新时间:2023-11-01 08:21:54 24 4
gpt4 key购买 nike

一位潜在客户要求能够禁止他们的用户从除特定公司拥有和管理的设备之外的所有设备登录我们的应用程序。我正在研究执行这种身份验证限制的方法,但尚未找到解决方案。

我知道 Android 提供 device management solutions允许在托管设备上将应用程序列入白名单和黑名单。但我不知道是否可以在公司管理的设备以外的设备上将应用程序的身份验证列入黑名单。我们的应用程序目前在 Play 商店上架,当前客户可以从任何可以访问 Play 商店的兼容 Android 设备登录。因此,这必须是仅适用于特定用户帐户的限制。

最佳答案

实现此目的的正确方法是使用 SSL 相互身份验证。

https://www.codeproject.com/Articles/326574/An-Introduction-to-Mutual-SSL-Authentication

在此方案中,设备将在现场配置客户端证书,然后您的应用程序使用的所有 [1] 服务器端点将验证此证书。这当然需要客户端代码准备网络连接以提供此证书和服务器配置以验证它。这和您的现场私钥一样安全,它可能受到某种 HSM 的保护。如果一台设备遭到破坏,那就是:只有那一台设备,当然您可以根据它提供的证书将该设备从服务器列入黑名单(请参阅:CRL)。

如果您做任何其他事情,您可能正在以一种存在安全漏洞的方式重新发明轮子,因为您没有花费 20 年的时间来开发它。

[1] 您可能会打开某些允许有限功能的端点。

这对您来说可能是一项巨大的工程工作,超出了您的客户的意愿。如果他们愿意接受混淆而不是真正的安全,您可以让客户在 header 中发送一个 secret (比如设备序列号的哈希值 + 密码等)。有一个配置步骤,您可以在服务器上注册该 secret 并根据请求对其进行验证。请记住,没有什么能阻止恶意代理以与您的应用相同的方式制定有效请求。

关于android - 仅允许在批准的设备上登录 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50109437/

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