gpt4 book ai didi

ios - 如何防止泄露应用内购买收据?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:43:54 25 4
gpt4 key购买 nike

购买成功后,我将收据+交易 ID 保存到 NSUserDefaults 中。相同的信息被发送到服务器以保留记录。

稍后(按需)当用户想从我自己的服务器下载内容时,我的应用程序会将收据+交易 ID 发送到服务器。它将通过从应用程序发送的交易 ID 找到存储的收据,与 Apple 验证存储的收据和新收据。如果某些 key 匹配,则提供可下载的内容。

但是,如今获取 NSUserDefaults 并提取 receipt+transactionID 并不难。即使我将信息放在钥匙串(keychain)中,也可以通过互联网连接获取收据。

现在,如果有人拥有收据+交易 ID,就可以向我的服务器发送请求并从任何 PC 获取内容。如何在不使用密码学的情况下修补此逻辑?

最佳答案

虽然您可以修补您的逻辑以使其更难破解,但如果您想要真正的保护,您需要某种加密技术。您不需要显式应用它 - 像从 HTTP 切换到 HTTPS 一样主流。通常会成功。

您需要保护敏感数据的三个位置是设备上、服务器上和传输中。

为了保护设备上的数据,将其存储在 Keychain 中: 毕竟,存储小块敏感数据是将钥匙串(keychain)添加到 iOS 上的存储可能性阵列的主要目的。

服务器保护是一个很大的话题,在许多在线和离线出版物中都有涉及;出于此答案的目的,我假设您的服务器已得到充分保护。

剩下的就是保护您在设备和服务器之间以及您的服务器和 Apple 服务器之间传输的数据。您可以使用 HTTPS实现传输级保护。

请注意,添加所有这些级别的保护并不能使您的数据绝对安全:拥有大量时间和资源的实体(例如不友好国家的政府)可能会发现您的 key - 例如,通过拆卸物理设备,并用逻辑分析仪检查从 CPU 出来的数据。然而,这个练习的重点不是实现绝对保护,而是让破坏你的安全方案的代价高得令人望而却步。为此,结合使用 Keychain 和 HTTPS 应该可以实现这样的目标,即破坏保护的代价比合法购买内容的代价更高。

关于ios - 如何防止泄露应用内购买收据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21908864/

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