2009-10-09 96 views
4

我的大學有一個門戶網站供學生註冊課程。如果你想進入一個完整的課堂,你必須不斷檢查門戶網站,並在課堂開放時註冊。可以安全地存儲其他網站的密碼嗎?

我寫了一個工具,它可以檢查口和自動註冊,但它需要的學生的大學用戶名和密碼。這些密碼與電子郵件帳戶,網絡共享,服務器登錄和大多數其他大學服務相關聯。

有什麼辦法可以安全地做到這一點?

回答

1

不幸的是,這是不是真的有可能 - 至少不是你想要做的方式 - 除非該大學提供了一個基於密鑰的驗證API。你總是可以很好地問他們,但他們可能太忙而無法提供幫助。如果您爲用戶提供充分的信息披露並保證服務器的安全,那就足夠了。

其實,有做它通過網絡不存儲密碼的一種方式 - 您可以使用Java或Flash應用程序。不幸的是,您的用戶需要在應用程序完成工作時將瀏覽器保持打開狀態,但這樣您就不需要存儲信息。

+0

我想我甚至可以讓他們下載一個可以在後臺運行的客戶端。 我認爲完全披露和一般安全是要走的路。它將在我的slicehost帳戶上運行,我認爲它應該相對安全。 – ABentSpoon 2009-10-09 22:07:43

0

當您存儲它們,然後對它們進行解密,當你需要嘗試登錄。簡單地生成一個對稱密鑰,並用它來加密和解密密碼的存儲和檢索(分別)你可以加密的口令字符串。

+1

你在哪裏存儲密鑰? – 2009-10-09 21:45:55

+1

我可以,但解密代碼不會與加密密碼一起坐在我的服務器上嗎? – ABentSpoon 2009-10-09 21:46:15

+0

@ABentSpoon:Martin聲稱存儲加密密碼(以及加密密鑰)不僅僅比存儲密碼更安全 - 他是對的。是的,你不能「隱藏」你的解密代碼 - 算法是很好理解的。 – 2009-10-09 22:15:41

0

您不能存儲它們完全安全的,因爲你需要能夠進行加密和解密,從而單向散列算法,如MD5,SHA-1,SHA-2是不夠的。你可以看看諸如DES或Triple-DES加密之類的東西。

+0

那麼你在哪裏存儲DES或Triple-DES的對稱密鑰? – 2009-10-09 21:50:24

+0

好問題。這就是爲什麼我說這不是完全安全。 – 2009-10-09 21:55:55

+0

我想說,用另一個密碼加密密碼根本不能提高安全性。 – 2009-10-09 21:58:49

3

在安全性方面,最重要的是「threat model」。你害怕什麼樣的攻擊?

  • 有人可能會竊取運行此程序的計算機:將計算機置於鎖定的房間中。
  • 有人可能入侵計算機並從內存中讀取它:使用防火牆和其他防禦遠程攻擊的保護
  • 其他用戶可能會讀取存儲密碼的硬盤:僅將密碼存儲在內存中(這將需要重新存儲每次啓動程序時)
  • 超級用戶-entering它可以讀取,即使是在內存中的密碼:只有在你信任的超級用戶的計算機上運行程序。

+0

將加密密鑰存儲在內存中聽起來像是個不錯的主意。我不確定它會提供多少額外的安全性,但它至少會讓攻擊者絆倒一段時間,或許足夠長的時間來檢測攻擊並停止服務。 – ABentSpoon 2009-10-09 22:14:47

+0

如果您需要重新啓動服務,那麼您將無法解密密碼。這是我看到的最大的問題,而不是缺乏安全性。 – 2009-10-09 22:53:11

0

我不認爲有。正如馬丁指出的一種加密方式不會爲你做。此外,這將爲您創建一個維護噩夢 - 每次用戶更改密碼時,您都必須更新數據。

我認爲要使它真正起作用,你必須改變設計:找到一種方法來在沒有用戶密碼的情況下進行註冊,即與應用程序的所有者通話,如果他們會給你一個帳戶,通過它你可以做代表其他人註冊

相關問題