Ale*_*nko 40 python security encryption docker
我们都知道当你无法开源并自由分发软件的情况时 - 我处于其中一种情况.
我有一个应用程序,包含许多二进制文件(从C源代码编译)和python代码,它将所有二进制文件包装到一个系统中.此应用程序曾用作云解决方案,因此用户可以通过网络访问应用程序功能,但无法触摸存储二进制文件和代码的实际服务器.
现在我们想要提供我们系统的"本地"版本.该应用程序将在我们的用户将拥有的PC上运行.我们知道一切都可能被打破,但至少要保护应用程序尽可能保护可能的复制和逆向工程.
我知道docker是一个很棒的部署工具,所以我想知道:有可能创建加密的docker容器,没有人能看到容器文件系统中存储的任何数据吗?这个问题有一个已知的解决方案吗?
另外,也许有一些众所周知的解决方案不是基于docker的?
您所询问的是混淆.它与Docker无关,是一个特定于语言的问题; 对于数据,你总是可以做任何你想要的修改,但是虽然你可以希望阻止攻击者,但它永远不会安全.即使是最先进的加密方案也无济于事,因为程序(您提供的)必须包含密钥.
C通常很难进行逆向工程,对于Python,你可以尝试pyobfuscate和类似的.
如果您想要一个完全安全的解决方案,那么您正在寻找机密性的"圣杯":同形加密.简而言之,您希望加密您的应用程序和数据,将它们发送到PC,让这台PC在没有其所有者,操作系统或任何其他人能够挖掘数据的情况下运行它们.这样做没有大量的性能损失是一个积极的研究项目.至少有一个项目管理过这个,但它仍然有局限性:
Andy关于使用TPM的建议与第2点和第3点有类似的含义.
听起来Docker不是正确的工具,因为它从未打算用作成熟的沙箱(至少基于我所读的内容)。您为什么不使用更加成熟的VirtualBox方法?至少您可以将虚拟机锁定在登录后(可以锁定他人计算机上的物理安装),并在隔离的加密文件系统和整个九码范围内运行该虚拟机。
您可以轻巧而开放,也可以胖而封闭。我不知道有“轻量级和封闭”选项。
我也有完全一样的问题。目前,我能够发现的是波纹管。
A.Asylo(https://asylo.dev)
B.斯康(https://sconedocs.github.io)