在同一台机器上的两个应用程序(包括Java服务器和Java服务器的C/C++客户机)之间,最安全的通信方法是什么?同一台机器上的应用程序之间最安全的通信方法
SSL套接字是否足够安全,还是可以被“中间人”攻击破坏?
这里主要关心的是客户端如何信任本地服务器?
介绍一个远程服务器可以提高本地通信的安全性,这怎么实现?
在同一台机器上的两个应用程序(包括Java服务器和Java服务器的C/C++客户机)之间,最安全的通信方法是什么?同一台机器上的应用程序之间最安全的通信方法
SSL套接字是否足够安全,还是可以被“中间人”攻击破坏?
这里主要关心的是客户端如何信任本地服务器?
介绍一个远程服务器可以提高本地通信的安全性,这怎么实现?
安全吗?如果攻击者拥有root权限,他们可以在加密之前和解密之后破坏系统调用并监视内存缓冲区,并且您可以做的任何事情都是安全的。
如果攻击者没有root权限,即使没有对其进行加密,他们也无法看到这些信息。
所以我没有看到这一点。
如果你的整个系统,包括它的秘密都在同一台机器上运行,那么毫不奇怪,它本质上是不安全的。黑客可以看到系统的所有部分,并且付出足够的努力,可以解开任何保护措施或加密方案。
如果系统必须100%安全,那么系统的一部分需要是远程的,因此黑客无法进行合并。
如果系统必须100%安全,则必须拔掉电源 - 从电网以及网络中进行:) – CuriousPanda 2010-05-11 14:27:03
即使可以读取硬盘并对其进行解密,因此您必须将其锁定在大型保险柜中并把它埋在没有人期望的地方......但即使这样,有一个小的机会,有人会找到它......我想我变得偏执。 ;-) – Hardcoded 2010-05-11 14:33:52
您需要详细说明您的威胁模型。这是一个普遍的真理,任何人物理访问你的硬件,动机和足够的时间将能够颠覆任何东西。如果攻击者碰巧是服务器上的管理员,这会增加一倍。
是的,您的代码中的任何内容都可以通过管理员访问进行读取。您可以尝试巧妙的技巧,比如加密或模糊存储在二进制/ JAR文件中的密码,但这是一个障碍,而不是绝对的障碍。
另一方面,保密性没有绝对的障碍,只是或多或少有效的障碍物。无论您的措施如何,无论您的加密和密钥管理的强度如何,如果有足够的时间和激励,任何事情都会产生效果。这使我们回到了第一点:您的威胁模型是什么(您希望保护哪些攻击);你的受保护资产有多少价值;谁和你信任什么?
管道应提供安全(和简单)的通信。是的,如果黑客存储在二进制文件中,并且二进制文件的权限允许读取该文件,黑客就可以检索密码。
我完全不知道你试图抵御什么攻击。如果它的本地系统和攻击者拥有root/admin,那么你完全可以做任何事情,毕竟他们已经拥有了整个系统。就SSL和MITM而言,这让我感到轻松,由PKI支持的SSL专门用于阻止像MITM这样的攻击。 – rook 2010-05-11 18:00:11