【发布时间】:2015-12-18 13:19:16
【问题描述】:
鉴于安全要求,我正在评估 Python 是否适合我的程序的实现选择。
我的程序的输入是一组加密的 (RSA) 文本文件,这些文件描述了我想要保护的一些 I/P。加密/解密库和私钥都通过 SWIG 包装器访问到 C++ 库。我设想 Python 代码将调用该库来解密传入的源文件。
一旦解密,我将以某种方式转换 I/P,然后将其加密写出来,再次使用 SWIG 包装的 C++ 库来实现此功能。
我的程序和 I/P 将分发给客户,但客户应该无法检查 I/P。只有 I/P 作者指定的具有私钥的工具才能使用。
当数据在运行时流经我的程序时,有人可以检查处于解密状态的数据吗?有没有办法在 Python 中保护我的数据? C++ 实现是否比 Python 更安全?
【问题讨论】:
-
什么可以阻止某人在解密后附加调试器并检查程序的内存? C++ 和 Python 解决方案都容易受到此攻击。
-
@Aldehir:即使剥夺了程序的所有调试信息,这也是可能的吗?
-
当然,即使没有调试信息,仍然可以获得解密数据,因为它会存在于内存中。不过,我会这么说,我假设您正在使用 python 对解密的数据执行转换;如果是这种情况,那么他们可以修改 python 代码以毫无问题地打印出解密的数据。
标签: python c++ security encryption reverse-engineering