2009-06-23 215 views
5

我有一個網站與用戶及其相應的數據。什麼是實現Web服務/ API的最安全的方式?

什麼是最安全的方式來實現Web服務/ API,以便用戶的登錄憑證和數據是安全的? oAuth並不是真正的選擇,因爲使用不一定會出現在其他網絡應用程序中。

我擔心的是,將用戶名和密碼作爲輸入是明顯傳輸的危險,並且令牌也可能被盜用並被惡意使用。

我是否需要提出自己的加密和解密數據的方法,或者是否有已經在使用的常用方法?

重點在於它對世界上任何人都是開放的,儘管如此,儘管如此,仍然是安全的。文檔將供所有人使用。

回答

4

總是有WS-Security標準:

WS-Security (Wikipedia)

.NET有它的實現在.NET 1.1和.NET 2.0通過Microsoft的Web服務增強:

WSE 2.0 (.NET 1.1)
WSE 3.0 (.NET 2.0)

它提供了有關它通過網絡發送之前加密所述SOAP信封的各種方法,安全地噸傳送裏面的數據。

+0

你打我吧... +1 ;-) – fretje 2009-06-23 14:03:48

3

不要寫自己的加密。

什麼是錯位SSL的?對於「常規」WSDL/SOAP客戶端(asmx),使用SOAP頭(通過SSL)並不罕見。

有了WCF,這是正式納入TransportWithMessageCredential(僅搜索)。當然,你可以使用證書,聯盟的Kerberos等..

除了傳輸安全(SSL),WCF還支持基於信息的安全性 - 與添加的功能,您可以加密只是安全頭。我個人喜歡用TransportWithMessageCredential(即SSL)保持簡單。

0

爲什麼不使用標準WS-Security呢?

編輯:只是想添加到賈斯廷的答案,它也執行在WCF

0

一個與第三方共享的任何身份驗證方法是露天開採,你必須從某個地方畫一條線。使用HTTP/S和WS- *服務來保護連接可能是您最好的方法。如果該服務只能通過已知的具有固定IP地址的系統訪問,請使用防火牆來進一步保護您的設備免受外部干擾。

+0

公開賽文檔支持它。 – 2009-06-23 14:13:02

相關問題