2011-04-11 45 views
2

我試圖實現一個驗證方案,它允許服務器應用程序驗證發送它的客戶端機器信息是一個有效的機器。我正在考慮實現類似這樣的事情:在數據庫中保存允許訪問的每臺機器的列表,當機器添加到系統中時,服務器應用程序爲其生成一個標識符,並使用公鑰和私鑰生成證書證書和標識符將安裝在客戶端上。當客戶端機器從服務器機器請求任何東西時,它必須給該標識符用私鑰加密。如果服務器可以解密給定的標識符,機器將被授權提出請求。機器驗證方案C#

我真的不知道是否理論上和實踐中這是一個有效的方案。這是一個使用C#的ASP.NET應用程序。

+0

是客戶機將在該域? – 2011-04-11 16:50:41

+0

不,客戶端機器不會在同一個域中 – rfders 2011-04-11 16:52:54

+0

首先,我們需要知道您的方案中「有效」的操作定義是什麼? – 2011-04-11 20:32:09

回答

2

您可能想要在HTTPS連接上使用X509 Client Certificates。他們建造時考慮到這一目的,他們是一個開放的標準:

對於高度安全的網絡應用,如網上銀行網站,你可能要實現對用戶身份驗證比用戶名更安全的解決方案,密碼組合。您可以使用客戶端數字證書來驗證用戶的身份。另外,如果需要,可以將客戶端數字證書映射到服務器上的Windows帳戶。
source

。您可以使用這一資源來獲取客戶端你開始:

本文討論如何通過使用Microsoft Visual C#中使用HttpWebRequest和HttpWebResponse類發送客戶端證書淨。
source