[英]Safest communication method between applications on same machine
什么是同一台機器上的兩個應用程序之間最安全的通信方法,Java和帶有Java服務器的C / C ++客戶機。
SSL套接字是否足夠安全,還是可以被“中間人”攻擊破壞?
這里主要關注的是客戶端如何信任本地服務器?
引入遠程服務器會提高本地通信的安全性嗎?如何實現?
您需要詳細說明您的威脅模型。 一般來說,任何能夠物理訪問你的硬件,動力和足夠時間的人都能夠破壞任何東西。 如果攻擊者恰好是服務器上的管理員,則會增加一倍。
是的,代碼中的任何內容都可以通過管理員訪問權限讀取。 您可以嘗試巧妙的技巧,如加密或混淆存儲在二進制文件/ JAR文件中的密碼,但這是一個障礙,而不是絕對的障礙。
同樣,另一方面,沒有絕對的保密障礙,只有或多或少有效的障礙。 無論您的衡量標准如何,無論您的加密和密鑰管理的強度如何,只要有足夠的時間和激勵,任何事情都會產生。 這讓我們回到了第一點:你的威脅模型是什么(你希望防范什么攻擊); 您的受保護資產價值多少; 誰和你信任什么?
從什么安全? 如果攻擊者擁有root權限,他們可以在加密之前和解密之后破壞系統調用並監視內存緩沖區,而你無能為力是安全的。
如果攻擊者沒有root用戶,即使您沒有對其進行加密,他們也無法看到此信息。
所以我沒有看到這一點。
如果你的整個系統,包括它的秘密都在同一台機器上運行,那么不可思議的是它本質上是不安全的。 黑客可以看到系統的所有部分,並且通過足夠的努力,可以解開您實施的任何保護或加密方案。
如果系統必須100%安全,那么系統的一部分需要是遠程的,因此黑客無法進行壓縮。
管道應提供安全(和容易)的通信。 是的,如果密碼存儲在二進制文件中,並且二進制文件的權限允許讀取文件,黑客就能夠檢索密碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.