【问题标题】:OS X - Secure storage for private app license/verification data using Keychain?OS X - 使用钥匙串安全存储私有应用程序许可/验证数据?
【发布时间】:2014-09-05 01:24:08
【问题描述】:

请注意:此问题与复制保护的有效性、保护的必要性、盗版的影响或个人对数字商务的政治观点无关。相反,它涉及以隐藏/保护临时或半确定用户的方式存储私有许可证密钥或数据的技术方面。

前言:传统上,许多 OS X 开发人员通过加密私有数据(例如应用程序启动次数)并将这些数据存储在名称混淆的文件中(通常在首选项和/或应用程序支持层次结构。显然,这不太理想。

问题:有哪些选项可以在 OS X 上存储特定于应用程序的许可证数据,以使临时甚至半确定的用户无法轻易删除或修改该数据? Keychain可以完成这项工作吗?

[编辑]

(在线验证不可用。该应用未启用沙盒。开发人员 ID 代码签名已启用。我正在寻找比能够通过 Keychain Access 或系统实用程序轻松删除许可证更可靠的东西。)

欢迎任何其他建议/策略。谢谢。

【问题讨论】:

  • 应用程序是否为沙盒?
  • 您可能想进一步定义确定或半确定的用户。几乎任何可能进入 ~/Library/Application Support/ 区域的人也可能使用 KeyChain Access 应用程序并想知道是什么。

标签: macos keychain license-key


【解决方案1】:

管理员访问权限始终是某种级别的 root 访问权限。在这种情况下,在惹恼您的用户和保护他们免受自己伤害之间找到平衡。 (不知道要不要这样做)

您可能需要包含一个特权帮助应用程序来完成这项工作。这是因为 Cocoa GUI 应用程序通常使用当前登录用户的有效权限和用户 ID 运行,这在 unix 的命令行中很常见。

具有不同权限的助手至少第一次需要管理员授权。 然后助手可以将数据存储在某处并更改权限和所有权(并在 unix 中以不同用户身份运行)。 除了大量的模糊和加密之外,据我所知,这是关于你可以做的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 2011-06-26
    相关资源
    最近更新 更多