我們在被促進客戶端應用程序和服務器應用程序之間的通信的應用程序使用消息收發隊列(JMS/ActiveMQ的)。嘗試調用服務器應用程序的用戶的用戶名和密碼是作爲發送到隊列的每條消息的一部分從客戶端發送的。我們要保護用戶憑據(至少密碼)在以下幾個方面:如何保護作爲消息負載一部分的憑證?
- 他們是不可見的,當消息負載被打印到日誌文件
- 當管理員看看消息,他們是不可見的一個管理控制檯,讓我們看看隊列中的內容
- 沒有人可以使用來自截取的消息的憑證(即使它被屏蔽/散列/加密)創建新消息。
簡單地掩蓋在客戶端的密碼,並揭露它在服務器端是不夠的,因爲有人可以攔截從日誌文件或管理控制檯蒙面的密碼,創建惡意數據的新信息,然後發送在服務器端將被解除屏蔽並執行的惡意郵件。同樣的問題會存在使用客戶端和消息隊列之間的安全通道中,由於在管理控制檯將仍然暴露的密碼(掩蔽或沒有)。
是否有任何管理這種數據隱藏/屏蔽從客戶端一直到服務器沒有任何模式(沒有任何人(甚至消息代理管理員)看到數據?
你需要使用用戶名/密碼?你可以使用證書籤署消息嗎? – Dave 2011-03-31 02:24:08
是的,向每個用戶/機器頒發證書遠遠超出了我們所能做的範圍。這是一個內部企業網站應用程序,用戶憑據是他們用來從任何給定機器登錄到我們系統的憑據。 – 2011-03-31 03:17:53