2009-11-19 81 views
4

我不是一個安全人,所以任何幫助,將不勝感激。堅持Web服務密碼

我有大量的具有可跨XML-RPC使用SSL調用遠程方法的第三方現場設備。對於每個方法調用,用戶名和密碼必須以純文本形式作爲參數以及任何其他方法參數傳輸。我無法控制這些設備或其實施。

我目前正在寫一個用戶將登錄,然後有機會獲得一定數量的現場設備的Web應用程序。用戶不需要知道他們連接到什麼設備,他們只需要這些數據。因此,我需要將每個設備的用戶名和密碼保存在數據庫中,以便在需要進行rpc調用時檢索它們。

如何加密我的設備服務密碼,這樣他們可以在一個呼叫需要進行解密?需要撥打電話時如何解密密碼?

我正在使用Java和Spring的應用程序。

請注意,我不問如何堅持用戶的登錄密碼。

+0

有趣的問題:)每個用戶都有他們自己的用戶ID \密碼每個設備,是否有一個「系統定義」用戶ID \密碼每個設備或它是一個組合? – 2009-11-20 07:21:32

+0

每個設備都有一個用戶名 - 密碼對,用於每次xml-rpc調用,無論用戶登錄到Web應用程序。 – LostHisMind 2010-01-12 14:21:21

回答

0

我們解決了類似的問題this code

加密用於其他服務的用戶名和密碼時,您會使用用戶登錄密碼進入你的web應用與關鍵。

+0

每項服務都有一個用戶名/密碼對。用戶和他們將訪問的服務之間存在多對多的關係。所以我不能使用一個用戶的密碼來加密服務用戶名和密碼,因爲另一個用戶很可能需要訪問該服務。 – LostHisMind 2009-11-19 17:02:16

1

如果我有此權,僅存在一個用戶名/每場設備PSWD(但每個是不同的,有許多現場設備)。

通過訪問所有設備密碼構建安全代理服務。設備密碼可以使用代理服務的公鑰加密存儲。您的Web應用將代理服務提供給代理服務,代理服務(假設滿意)代表他們與現場設備通話。 CryptoApi或其一個包裝應該是你所需要的。

你不會評論數字,但給出代理將是無狀態的,它應該可以擴展。