2012-01-03 50 views
0

在我們的登錄頁面中,我們輸入用戶名密碼,然後提交表單。密碼將轉到使用某種算法進行加密的服務器,然後保存到數據庫。但是當它被髮布到服務器時,它可以在螢火蟲發佈數據中看到。那麼如何保證我在其他情況下也能看到類似的實現。從客戶端到服務器的時間不能被困在它之間。難以理解登錄機制密碼安全性?

回答

3

Firebug可以看到密碼,因爲它充當客戶端(通信路徑的兩個端點之一)上的代理。 SSL/TLS(https)加密兩個端點之間傳輸的數據(將其視爲一個受保護的隧道,其中唯一可以看到真實數據的方法是在其中一個端點處)。由於Firebug在客戶端上運行,因此它可以訪問數據未加密的端點。想想你可以將數據傳入的隧道將在傳輸過程中得到保護; Firebug坐在隧道的入口處,以便看到進入(出來)的所有東西。

至少應該通過SSL/TLS發送密碼(以及任何其他敏感數據),以防止某些不在通道端點上的人看到數據。理想情況下,您將希望通過https運行所有內容以防止會話劫持攻擊(您可以閱讀關於in the Wikipedia summary的所有信息)。任何不至少對證書交換(密碼等)進行加密的站點都不符合行業最佳實踐,應被視爲不安全的實施。

+1

實際上,FireBug不能用作代理 - 通過代理的SSL/TLS隧道(從1.1開始),代理無法查看SSL數據。 Firebug可以在瀏覽器進程中看到密碼,也就是說,它在通過SSL隧道加密之前查看數據*。 – AviD 2012-01-03 13:42:11

+1

不同類型的代理(或可能是對術語的錯誤使用)。它位於從用戶流向服務器應用程序邏輯的通信路徑中。雖然不是一個典型的/正式的HTTP代理(基於SSL/TLS終結點等),但它是一個功能,而且從用戶的角度來看,它是一個功能。我將把語義作爲另一個討論。 :) – jeffsix 2012-01-03 13:47:06

+0

所以你的意思是在http上運行的所有網站,並要求密碼登錄是不安全的? – 2012-01-04 07:32:32

1

是的,你是對的。如果數據以明文形式發送到服務器,則可以在Transit中捕獲數據。因此,請始終使用HTTPS連接。

+0

我正在使用https連接。此外,如果是這種情況,有人可以確定如此多的沒有https網站 – 2012-01-03 13:01:51

+1

拇指規則是,使用HTTPS發送像信用卡號碼,密碼等機密信息。對於普通網站,這不是必需的。要回答您的下一個問題,維護HTTPS是件昂貴的事情。我發現了一個鏈接,可以幫助您理解相同的內容,在此之前,您需要了解公私鑰加密的概念,以及證書頒發機構存在的原因以及設置相同的性能和成本問題。 http://answers.yahoo.com/question/index?qid=20070604161212AAsnSFX – Anil 2012-01-03 13:10:04