【发布时间】:2011-06-12 11:03:57
【问题描述】:
这是我的场景:我需要以安全/受保护的方式分发 Android 应用程序的可选内容包,即防止从应用程序外部下载内容。内容由压缩后的 SQLite 数据库创建文件组成,最大大小为 4 MB。这些软件包将每年更新 4 次。我目前有大约 1000 个活动安装。这意味着在高峰时间下载内容包更新的流量每天可能会产生大约 4 GB。该应用的安装基数每天大约增长 100 个用户。
根据场景我想知道如何解决以下问题:
分发内容的最佳方式是什么? HTTPS 传输?推荐的身份验证方式(例如密码、证书)是什么?我应该改用受密码保护的 Zip 文件吗?
-
应使用哪种基础架构进行符合以下标准的内容交付:
- 支持 1) 开箱即用的保护机制
- 易于设置和维护
- 欧洲和美国的可扩展和下载节点
- 相对便宜(每月不超过 30 美元)。理想的按需付费带宽。
我正在考虑使用 CDN,如 SoftLayer、Amazon CloudFront 等。有什么建议吗?
【问题讨论】:
-
“我需要以安全/受保护的方式分发 Android 应用程序的可选内容包,即防止从应用程序外部下载内容。” ——根据定义,这是不可能的。无论您使用什么方式,都可以从应用程序进行逆向工程并在其他地方使用。您可以使用代码混淆等来尝试使这变得更加困难,但仅此而已。
-
我知道不可能获得 100% 安全的解决方案。我仍然不希望任何人通过简单地浏览下载 URL 来获取数据。所以我会很高兴至少使用密码保护并将密码隐藏在应用程序中以使事情变得更难。有什么建议我该怎么做?
-
每天 100 个用户,而您有 1000 个用户?我认为您无法从中得出有意义的统计数据。
-
100用户是连续30天左右的增长速度。当然,很难做出估计,但这种情况很有可能发生。