2011-04-28 71 views
1

我期待在應用程序上獲得儘可能少的信息,從而可以從網站或服務器獲取大部分數據,我希望聽到來自每個在該領域具有豐富經驗的人員的建議和建議,以幫助我改進我的應用。應用程序從網站中提取數據?

目前我的認證包括:

  • 要啓動應用程序的用戶必須輸入用戶名和密碼(沒有一個有效的用戶,並通過應用程序不工作),然後點擊登錄。
  • 憑證將使用HTTPS發送到我的登錄頁面,該腳本只接受SSL連接和個性化的User-Agent名稱。
  • 登錄頁面將驗證憑據併發回會話和一些初始數據。
  • 該會話被重複使用以收集更多的數據隨着時間或按需要。

旁註:的SSL 256位,該會話自動幾分鐘

對於上述基本authetication和數據拉到期後,​​你會推薦我還有別的事情要落實?

我應該改變什麼嗎?

保護的第二層

現在我想所有從/發送到我的應用程序中的數據進行加密,以實現更高的安全性,我的問題:

  • 我應該用什麼來加密和解密數據,雙方持有的一對私鑰和公鑰還是RIJNDAEL的方法?
  • 什麼是正確的方法,或者我應該留下哪些部分的信息在客戶端和服務器上,或者我應該如何形成共同的口令或密碼的知識呢?

    例如,如果我使用的是一對RSA密鑰,我需要在客戶端和一個公鑰上留下一個私鑰,因爲您不能使用c#上的公鑰解密任何數據,而您可以在服務器和Rijndael需要在雙方都有IV和密鑰。

    什麼是處理這些正確的方法是什麼?

我會很高興與實用的閱讀材料,評論,實例,建議,建議:)

UPDATE:

沒有人願意說什麼?我希望得到在這個問題上更多的投入,也強硬,這是圍繞一個相當常用的方法...

回答

1

聽起來像是你已經考慮在長度公式的應用程序方面的安全性。我建議你把你的想法變成網站的一部分。

當我看安全,我總是看兩樣東西:

  • 交通運輸安全 --is你的數據在傳輸時保護?聽起來就像這樣,假設您在服務器上使用足夠的密鑰長度來獲得SSL證書。此外,您可以強制網站做客戶端證書驗證作爲SSL握手的一部分。這可以確保沒有人可以欺騙客戶端應用程序並說服您的網站共享信息。
  • 有效負載安全 - 是否應加密數據有效負載?是否有機會能夠通過DNS中毒或其他方法闖入您的Web服務器,或更好地說服您的應用使用有效(針對該cn)連接到惡意服務器,但是不同的HTTP證書?如果您選擇對有效負載進行加密,則可以將整個事物安裝到您已使用的相同證書上。只要確保證書的數據加密位已打開,並且您可以使用證書中的私鑰/公鑰來加密有效內容。因此,如果惡意用戶替換了證書,他們不僅需要欺騙cn和信任鏈,還要從應用程序獲得正確的公鑰,以解密使用私鑰加密的數據並使用服務器的身份進行簽名公鑰。

其他一些問題去思考:

  1. 您是說,這次會議被重用?它是否過期?如果沒有,你會想讓它過期。
  2. 您可以利用網絡安全嗎?您可以使用VPN隧道或IP ACL來限制誰可以訪問Web服務器?
  3. 鍵盤記錄器呢?密碼可以被攔截。第二個身份驗證因素可以是用戶擁有的內容,如密鑰卡或指紋,或RSA SecurId。如果你不想走那麼遠,你可以爲用戶提供一個「網站印章」 - 他們必須認識到與他們的賬戶相關的圖像。甚至可能會呈現多張圖片,並讓他們選擇他們在註冊過程中選擇的圖片。你也可以讓他們解決一個小難題 - 這將區分人類和機器(CAPTCHA型)。

所有這些要點儘量減少存儲在客戶端的信息 - 只需一個證書或兩個證書即可。

安全性問題非常廣泛,我們可以在此處針對不同的實施細節展開整體討論。以上只是需要思考的一些問題。

請記住,一切都有成本。安全性降低了可用性和CPU週期。適當的平衡是關鍵,但這當然取決於你。 在您構建Fort Knox之前,請確保有人會想要住在那裏:)

+0

+1最初我想感謝您的回覆 – Guapo 2011-04-28 03:51:21

+1

**有效載荷參數**很多事情需要考慮,但您忘記了一個簡單的問題,它涉及到反編譯你的應用程序的人,並抓取允許他們直接在瀏覽器上使用它的連接url,而我確實像上面提到的那樣,他們應該遵循一些個性化的東西來發送請求,比如必須是POST方法,必須具有用戶代理的個性化名稱,必須來自ssl等,這並不能完全保護我免受那些能夠真正獲得需要發送的url和請求信息的人,是否有解決方案那? – Guapo 2011-04-28 03:51:28

+0

回答你的問題:1.'不過期嗎?'如果沒有使用,每X分鐘是。 2.「你能利用網絡安全嗎?」這個應用程序將在全球範圍內提供,所以我不這麼認爲。 3。不要以爲我需要走得太遠,但我肯定會有像驗證碼一樣的異常登錄嘗試。 Hehehe是的,我不打算建立一個堡壘諾克斯,但我想防止自己。 – Guapo 2011-04-28 03:51:40