同一台机器上的两个应用程序之间最安全的通信方法是什么,Java和带有Java服务器的C / C ++客户机都是这样。
SSL套接字是否足够安全,还是可以被“中间人”攻击破坏?
这里主要关注的是客户端如何信任本地服务器?
引入远程服务器会提高本地通信的安全性吗?如何实现?
答案 0 :(得分:5)
您需要详细说明您的威胁模型。一般来说,任何能够物理访问您的硬件,动力和足够时间 的人都能够破坏任何东西。如果攻击者恰好是服务器上的管理员,则会增加一倍。
是的,代码中的任何内容都可以通过管理员访问权限读取。您可以尝试巧妙的技巧,如加密或混淆存储在二进制文件/ JAR文件中的密码,但这是一个障碍,而不是绝对障碍。
另一方面,另一方面,没有绝对的保密障碍,只是或多或少有效的障碍。无论您的衡量标准如何,无论您的加密和密钥管理的强度如何,只要有足够的时间和激励,任何事情都会产生。这让我们回到了第一点:你的威胁模型是什么(你希望防范什么攻击);您的受保护资产价值多少;谁和你信任什么?
答案 1 :(得分:1)
从什么安全?如果攻击者拥有root权限,他们可以在加密之前和解密之后破坏系统调用并监视内存缓冲区,而你无能为力是安全的。
如果攻击者没有root用户,即使您没有对其进行加密,他们也无法看到此信息。
所以我没有看到这一点。
答案 2 :(得分:1)
如果你的整个系统,包括它的秘密都在同一台机器上运行,那么不可理喻它本质上是不安全的。黑客可以看到系统的所有部分,并且通过足够的努力,可以解开您实施的任何保护或加密方案。
如果系统必须100%安全,那么系统的一部分需要是远程的,因此黑客无法进行压缩。
答案 3 :(得分:1)
答案 4 :(得分:1)
管道应提供安全(和简单)的通信。是的,如果密码存储在二进制文件中,并且二进制文件的权限允许读取文件,黑客就能够检索密码。