2010-01-08 147 views
2

我打算讓Rails項目的數據庫可以公開下載。該數據庫包含一個Authlogic用戶表,其中包含crypted_pa​​ssword和password_salt字段。這些密碼的存儲安全程度如何?是否可以通過這種方式公開使用這些密碼?或者我應該考慮實現另一種身份驗證系統,如OpenID,它不會將密碼存儲在數據庫中?Authlogic密碼有多安全?

回答

1

這絕對不是安全共享散列密碼,也許你應該嘗試拆分您的用戶模型弄成用戶配置(用戶的公開信息 - 暱稱,位置等)和UserAccount,你可以使用進行身份驗證。那麼你可能可以共享除帳戶之外的所有內容。或者可能考慮實施某種API,其他人可以使用這些API從您的站點獲取數據,而不是發佈整個數據庫。

2

無論安全級別和加密如何,共享這絕對不是一個好主意。即使它非常安全,至少你會泄露用戶數據,這聽起來不像你的用戶可能會感到高興的東西。如果它不是完全安全的(更可能) - 假設,在authlogic中存在一個尚未被發現的關鍵弱點?

比對不起更安全。如果你願意的話,分享其餘的內容,但保留你的用戶表和相關數據!

+0

感謝您的意見。我能想到的唯一的其他選擇是需要OpenID身份驗證。該應用程序將類似於維基百科中,我希望給用戶分叉整個項目如果需要的話和別的地方設立站點的選項。假設用戶意識到他們的OpenID將被共享,你認爲這是最好的方法嗎? – 2010-01-08 09:01:14

2

我建議您從任何您計劃共享的數據庫中刪除涉及用戶身份驗證(電子郵件,密碼,鹽和密鑰,開放ID網址)的任何字段,否則當有人惡意獲取時可能會發現自己處於痛苦的世界持有它。

1

我認爲在您公開的數據庫中不包含用戶表是明智的,無論您使用的是何種身份驗證系統。使用authlogic的優點之一是可以實現多種無痛認證方式。使用傳統的註冊,OAuth,OpenID或RPX無關緊要,所有這些方法都能夠將密碼之外的個人信息吸引到用戶模型中。用戶可能不會覺得DOB /第一個&姓名/位置信息被公開。