2017-01-09 29 views
0

假設如下:如何根據服務器驗證WPF應用程序?

  1. 我有一個WPF應用程序,它從文件中讀取的文本通過發送 文本到我的服務器REST API一個HTTPS和服務器發送一個
    響應依賴於這是在請求中發送文本

  2. WPF應用程序應該是唯一一個得到一個有用的反應 這個請求 - 這樣的WPF應用程序以某種方式展示給 服務器,該請求是從應用程序發送本身。

  3. 的WPF應用程序的用戶不應該被要求輸入任何登錄憑據

什麼是這裏的最佳做法?

我的想法:

  • WPF應用程序可以用它在服務器端檢查 請求一起發送的硬編碼密碼 - 但是,這聽起來不是 像一個很好的解決方案給我,因爲安全性取決於 任何人都無法嗅探HTTPS請求。
  • 是否可以嗅探HTTPS請求輕鬆獲取密碼?

在此先感謝

回答

1

如果您的服務器已經支持HTTPS客戶端知道服務器是基於它是使用受信任的證書,使側的處理。 (客戶端信任服務器)

爲確保信任,服務器需要做同樣的事情。 (服務器信任客戶端)客戶端應該持有可傳遞給服務器的證書,以便服務器可以驗證客戶端身份。

與往常一樣,這引發瞭如何在客戶端隱藏密鑰的問題,其中有各種各樣的方案,但由於客戶端需要最終獲得密鑰,所以不能阻止專門的黑客找到該信息,只能使對他們來說很難。 (混淆等)

根據您的應用程序,最好的是一個簡單的白名單允許客戶端連接。有些應用程序可以做到這一點,但許多應用程序無法做到這一點,因爲它們沒有用戶IP等,但如果它適合您的使用情況,則需要注意其他事項。

您可以按照您的建議將密碼發送到服務器。只要郵件是加密的(HTTPS),你可能沒問題。沒有什麼是100%安全的。它可以通過中間人攻擊方式進行攔截,但這些攻擊相當罕見,或者至少非常有針對性,所以它將取決於你的軟件的功能等。

+0

謝謝!這聽起來像是黑客能夠嗅探密碼,他也能夠獲得使用的證書,因此實施客戶端證書的額外工作是不值得的,對吧? – Andybanandy

相關問題