【发布时间】:2020-01-23 21:10:14
【问题描述】:
如今的软件可以分为两类:在客户端基础架构上运行(例如在企业软件的情况下,例如 Splunk 或 Tibco),或者在软件提供商的基础架构上运行(例如在 Facebook 的情况下,其中您需要使用他们的 API 来访问后端)。
在第一类中,客户支付许可证费用并接收软件,以便在他们选择的场所的自己的机器上运行。客户拥有实际的代码和软件。
第二类,软件驻留在外部某处,只能通过 API 访问。客户端不拥有该软件,只能在 API 允许的范围内使用它。
我的问题是:在上面的第一类中,实际代码是如何对客户端隐藏的?
假设我用 Python 构建了一个非常棒的分析引擎,用于分析输出日志。企业客户有兴趣将其用于其内部应用程序。但是,出于安全原因,他们坚持我的引擎必须在他们自己的机器上运行。如果我屈服并给他们我的 Python 代码,那么我将冒着我的知识产权的风险。
在这种情况下,我是否需要将所有代码重写为 C++ 之类的编译语言,以便在编译期间对其进行混淆?或者有没有办法将它保存在 Python 中,但以另一种方式保护源代码?
更新: 鉴于下面的答案,在这种情况下,开发客户端托管应用程序(即:上面的第一类)的更有效途径是先用更方便的语言(如 Python)编写概念证明,然后将这些想法和改写成C++?
【问题讨论】:
标签: python security enterprise saas