如何保護提供私人信息的公共服務信息?保護中間人服務的公共服務信息
該服務根據客戶端發送給它的用戶名和密碼提供一些信息。例如:
請求
<get-my-info>
<username>username</username>
<password>password</password>
</get-my-info>
響應
<your-info>
<private-info-a>private-info-a</private-info-a>
<private-info-b>private-info-b</private-info-b>
</your-info>
服務應該是相當容易使用,並允許新的客戶出現,所以迫使客戶端註冊與它關聯的密鑰不是一個選項。
將私鑰放在服務器上併發送公鑰給客戶端來加密敏感信息就足夠了嗎?因此,只有服務器才能解密來自客戶端的消息,並且所有客戶端都將使用相同的公鑰,從而更容易創建新的客戶端。
該服務正在連接一個遺留數據庫,該數據庫提供服務所需的所有信息:用戶名/密碼和私人信息查詢。維護用戶名/密碼方法並避免數據庫更改(例如存儲用戶的密鑰)是首選。
如果您使用標準https,則在中間攻擊時您是安全的,只要您具有啓動每個對話的某種身份驗證和授權步驟即可。您也可以爲每個請求發送安全令牌。 – faester 2013-04-27 14:50:11
@faester,能否請您發表有關HTTPS的答案,以便我可以接受它?謝謝。 – 2013-05-02 12:34:46