2011-12-07 118 views
0

我在哪裏工作,單點登錄到其他應用程序是所有的憤怒。但是,在處理我繼承的一些代碼時,我發現我們的第三方(一家大公司)使用密鑰,時間戳和用戶ID的組合來驗證其系統。所有這些信息都通過SSL通過查詢字符串(MD5散列)傳遞。我的同事和我發現了這一點,因爲我們已經知道這個(開源)SSO解決方案是如何工作的,所以我們能夠簡單地生成我們自己的查詢字符串並在沒有密碼的情況下登錄到任何人的賬戶!不用說,我們立即壓縮了這個SSO功能。當通過SSO進行身份驗證時,祕密密鑰或私鑰密鑰是否安全?

我不是以任何方式安全專家,但用這種方式,不是像這種令人難以置信的危險的祕密密鑰?特別是因爲第三方的SSO「連接器」是開源的。他們建議每隔一段時間更換一次鑰匙,但正如我所說,這似乎太容易強行進入;猜測一個密碼等於訪問每個人的帳戶!請讓我知道你的想法和意見,啓發我:)

+1

md5不是一種加密方法。 – rook

+0

嘿車,woops並不意味着暗示!這實際上讓我更加關注它。 –

+0

我假定您的私鑰和公鑰使用512位RSA加密。除非兩把鑰匙完全暴露在公衆面前,否則打破鑰匙並非易事。 – Raptor

回答

0

SSO的安全級別歸結爲特定產品的實施。我不是SSO或安全專家。但是OpenID是一個不錯的選擇:http://en.wikipedia.org/wiki/Openid。順便說一句,StackOvewfloe也使用OpenID。

+0

除了OpenID,我會建議使用Facebook SSO/Google SSO給用戶一個更友好的用戶體驗。 – Raptor

0

只要私鑰保持私密,SSO就可以保存。密鑰應該用512位RSA或其他東西進行加密,所以很難暴力破解。但是,如果私鑰和公衆暴露出來,整個系統就會崩潰,這不僅僅是SSO。私鑰應該保密,不應該暴露給任何人。所以我想知道這種情況下的密鑰是否與私鑰相同。如果是這樣的話,第三方的實施情況就不好。