【问题标题】:Implementing restrictions for bash application using PKI使用 PKI 对 bash 应用程序实施限制
【发布时间】:2021-04-11 15:02:52
【问题描述】:

我们已经开发了内部 bash 应用程序,并且我们希望提供类似许可证的东西。然而,我们真的怀疑使用 bash 之类的东西是否可以实现这一点,因此我们决定使用 PKI 的东西来进行限制,并想知道 PKI 或构建内部 CA 是否会有所帮助?

有人可以给我任何用例如何实现吗?就像使用内部 CA 签署 bash 或提供使用内部 ca 签署的证书并检查证书的有效性?如果证书已过期且未经内部 CA 签名,请不要运行该应用程序。

请问还有什么想法吗?

TIA

【问题讨论】:

    标签: bash certificate pki


    【解决方案1】:

    签署解决方案了吗?

    我猜问题是复制保护?检查 Bash 脚本中的签名并没有真正的帮助。

    通常,任何可以被用户轻松移除的机制都可能不会这样做。

    非对称加密

    非对称加密可以提供解决方案(但我真的建议先更清楚地定义问题)。

    缺点

    • 必须为每个许可证单独创建加密的交付物(这可能意味着性能或可测试性问题)。
    • 可能必须实施 PKI。

    可能的解决方案草案

    1. 无论是在构建时还是在将程序交付给许可证持有者期间,系统都会使用许可证持有者的公钥加密有效负载(许可脚本)。
    2. 构建或交付系统将加密的有效负载附加到包装脚本。
    3. 个性化的包装脚本将交付给许可证持有者。
    4. 许可证持有者启动包装脚本并提供他们的私钥。
    5. 包装脚本解密负载并执行它

    【讨论】:

    • 感谢您的回复,我们的用例是为 bash 应用程序定义一种许可证,并将其提供给许可证持有者,使其在 1 年或 3 年结束时到期。这里过期意味着他应该无法在过期后运行该应用程序,因此正在考虑基于 PKI/Cert 的解决方案
    • 是的,我明白了。证书可以涵盖到期部分。但是,例如,对许可证服务器的 HTTP 请求,它有什么优势呢?如果不能强制执行,过期也不够:除非您以某种巧妙的方式混淆您的许可证检查代码,否则用户可以轻松修改或停用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2016-05-07
    相关资源
    最近更新 更多