在同一臺機器上的兩個應用程序(包括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