我正在構建一個能夠保存我的密碼的程序。現在我有以下問題。因爲我有很多計算機(一個用於工作,三個用於自己),我想保持密碼與服務器同步。但現在我的問題是什麼是最安全的方式通過互聯網發送數據與C#?是否有可能使連接如此安全以至於我可以通過它發送密碼?也許對應用程序的任何建議。以安全的方式通過互聯網發送數據
0
A
回答
1
是的,你可以使它合理安全。首先,我會建議與編寫自己的協議棧,僅僅因爲它非常容易犯一個簡單的錯誤,使得破解安全性變得微不足道。
(顯然有很多現有的服務(如的1Password,passpack等),但我想你已經知道了。)
我建議你專注於同步和UI和離開安全以證明文庫。一種這樣的解決方案是使用帶RSA身份驗證和已知主機密鑰的SSH。這在許多生產站點都有使用,AFAIK認爲是合理安全的(儘管在幾年前最流行的一種OpenSSH中有一個hole,這非常糟糕)。 SSH協議可以用作各種不同協議的載體,包括你自己的密碼同步協議(因爲你可以使用SOAP或JSON-RPC或類似的東西,有很多庫)。
然後,您可以通過使用SSH客戶端庫(https://sshnet.codeplex.com是第一個Google命中)直接與C#集成。不過,我沒有直接使用C#來談論SSH的經驗。我通常做的是讓一個現有的SSH客戶端(例如PuTTY)打開一個端口,然後使用普通的TCP套接字。這一切都取決於你想要的同步應用程序的光滑程度,但由於你只是爲自己寫的,我會選擇後者。
如果您很聰明地編寫應用程序,則不需要除您自己的服務器部分(例如,SSH實現用於文件存儲的SFTP)的服務器部分。
一個類似的想法是使用SSL。如果您預先信任證書鏈,則可以確保足夠安全,但我的經驗是,C#中的默認SSL套接字API與Windows體系結構綁定的方式過多,使得自定義證書驗證更爲棘手。使用公開暴露的服務器(直接通過IIS)可以打開大量新的攻擊媒介。
相關問題
- 1. 以安全的方式發送數據
- 2. C#通過互聯網發送文件
- 3. 接收客戶端通過互聯網發送的數據報
- 4. 通過互聯網發送UDP數據包
- 5. 需要通過互聯網從Ruby發送數據到C#
- 6. 通過互聯網從手機發送數據到手機?
- 7. 套接字 - UDP通過互聯網發送數據
- 8. 通過互聯網發送文件的可靠方法
- 9. 在iPhone中通過網絡發送安全數據
- 10. 通過互聯網同步SQL數據
- 11. php,如何以安全的方式發送表單數據?
- 12. 通過互聯網
- 13. 通過互聯網傳輸數據最簡單的方法,Python
- 14. 通過互聯網安全訪問Microsoft可視化源
- 15. 通過互聯網安全地使用log4net
- 16. 通過互聯網發送QTMovie的音頻
- 17. iPhone SDK:如何通過互聯網向服務器發送數據?
- 18. 通過互聯網在.net應用程序之間發送數據
- 19. 表單數據沒有「名稱」元素通過互聯網發送?
- 20. 通過網絡將數據從iphone發送到數據庫安全
- 21. 通過互聯網服務和OOM異常發送大文件
- 22. 通過互聯網發送RTP包(流)到服務器
- 23. 發送通過互聯網多投包在Java中
- 24. 如何通過互聯網向智能手機發送短信?
- 25. 想通過互聯網使用hornetq發送/接收JMS消息
- 26. 捕獲桌面,使其256色,並通過互聯網發送
- 27. yum通過互聯網rhel5.1
- 28. VSS通過互聯網
- 29. 如何通過互聯網
- 30. 2路通過互聯網
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2014-10-12 11:41:29
你聽說過WCF嗎? – 2014-10-12 11:42:21
Thx for the title and I looking into WCF part :) – kevingoos 2014-10-12 11:43:59