簡體   English   中英

同一機器上應用程序之間最安全的通信方法

[英]Safest communication method between applications on same machine

什么是同一台機器上的兩個應用程序之間最安全的通信方法,Java和帶有Java服務器的C / C ++客戶機。

SSL套接字是否足夠安全,還是可以被“中間人”攻擊破壞?

這里主要關注的是客戶端如何信任本地服務器?

引入遠程服務器會提高本地通信的安全性嗎?如何實現?

您需要詳細說明您的威脅模型。 一般來說,任何能夠物理訪問你的硬件,動力和足夠時間的人能夠破壞任何東西。 如果攻擊者恰好是服務器上的管理員,則會增加一倍。

是的,代碼中的任何內容都可以通過管理員訪問權限讀取。 您可以嘗試巧妙的技巧,如加密或混淆存儲在二進制文件/ JAR文件中的密碼,但這是一個障礙,而不是絕對的障礙。

同樣,另一方面,沒有絕對的保密障礙,只有或多或少有效的障礙。 無論您的衡量標准如何,無論您的加密和密鑰管理的強度如何,只要有足夠的時間和激勵,任何事情都會產生。 這讓我們回到了第一點:你的威脅模型是什么(你希望防范什么攻擊); 您的受保護資產價值多少; 誰和你信任什么?

從什么安全? 如果攻擊者擁有root權限,他們可以在加密之前和解密之后破壞系統調用並監視內存緩沖區,而你無能為力是安全的。

如果攻擊者沒有root用戶,即使您沒有對其進行加密,他們也無法看到此信息。

所以我沒有看到這一點。

如果你的整個系統,包括它的秘密都在同一台機器上運行,那么不可思議的是它本質上是不安全的。 黑客可以看到系統的所有部分,並且通過足夠的努力,可以解開您實施的任何保護或加密方案。

如果系統必須100%安全,那么系統的一部分需要是遠程的,因此黑客無法進行壓縮。

我不得不說內存映射文件或共享內存區域是最安全的方法, Java和C ++( Win32Unix )都支持進程間通信。 雖然你必須處理自己的同步,但它更復雜。 完全繞過插座。

管道應提供安全(和容易)的通信。 是的,如果密碼存儲在二進制文件中,並且二進制文件的權限允許讀取文件,黑客就能夠檢索密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM