轉載:阿北能不能看到我在豆瓣的賬戶對應的密碼?

好長的文章,收藏起來以後慢慢看,轉載自:http://www.cnblogs.com/fd1803/p/3990163.html

 

阿北能不能看到我在豆瓣的賬戶對應的密碼?

完全可以。
無圖無真相。我們先來看看豆瓣登錄界面。

豆瓣的登錄位置有好幾個,在哪登錄都無所謂。問題是當你點擊登錄按鈕後,你的登錄密碼未經任何變換,直接以明文提交到服務器上的。爲了證明這一點,我們嘗試登錄,然後用fiddler捕獲一下請求過程,如下圖。

 

當然,因爲我輸入的是假的密碼,所以登錄失敗了。但是 fiddler 上我們可以清楚的看到密碼 12345678 就這麼乖乖的躺在那裏。

 
這意味着什麼?
這意味着只要豆瓣願意,它可以在服務端記錄下你的原始密碼。不管最終它是否會將你的密碼以哈希或加密方式存儲,但至少,豆瓣有機會知道用戶登錄密碼的明文。
豆瓣爲什麼要這麼做?
首先,對於豆瓣來說,你的帳戶的所有信息,它都可以在不需要密碼的情況下進行任意的修改,所以豆瓣對用戶的密碼其實並不感興趣。其次,豆瓣確實會將用戶的密碼哈希變換後再存入數據庫,用於一定程度上防範黑客直接獲取到用戶的明文密碼。
但是由於問題問的是“阿北能不能看到我在豆瓣的賬戶對應的密碼?,阿北迴答不能。通過上面的分析我們知道,不是不能,只是不願意而已。如果豆瓣需要,隨時可以拿到活躍用戶的明文密碼。
如何改進?
在進行下面的討論之前,我們必須提醒大家,豆瓣在登錄驗證的部分已經採用SSL加密來保護了,上面描述的問題並不是在暗示大家“豆瓣不安全”(安不安全是另外一個問題了),這裏要討論的是,雖然阿北聲稱無法看到用戶的明文密碼,但是我們通過簡單的技術分析已經可以明確阿北在技術上依然可以輕鬆的看到用戶的密碼,並且用戶無法知道。
我現在想知道的是,到底有沒有一種辦法,可以讓阿北可以坦蕩的向用戶拍胸脯保證絕對看不到用戶的明文密碼,並且在技術上來說這種保證是可靠的——任何人都可以在客戶端進行驗證確保其沒有作假?
事實上這樣的方案是存在的。
具體方案:基於哈希+HTTPS
當用戶註冊和登錄時,用戶的密碼不會被通過網絡直接發送明文,而是先經過哈希後再發送,並且發送時採用 HTTPS 加密。這種方案的核心在於,哈希運算是在客戶端完成的,因此服務端接收到的用戶密碼都不是明文,阿北確實可以拍着胸脯說不會看到用戶密碼。由於中途通信加密了,安全性看起來還不錯。但是我們也注意到,如果沒有 HTTPS 的保護,這種方案非常容易遭受重放攻擊。這一方案在業內可以說已經算常識了。大多數稍微有點安全意識的開發人員都知道。
網站需要用https訪問就需要部署SSL證書。
SSL
證書專業提供商:沃通(WoSignCA: 
http://www.wosign.com/index.htm

國產SSL證書和國外SSL證書對比:

http://www.wosign.com/about/WoSign_ForeignCA_compare.htm

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章