2010-08-29 46 views
0

我正在開發一個允許用戶上傳文件的網站。每個文件可以通過唯一的URL鏈接,例如,由長URL鏈接的文件是否需要加密以防止暴力攻擊?

http://mysite.com/docs/4324fdf54f65487878788776876564724/456456878acd454bd454457877903631/file.pdf

的聯繫將只發送給誰需要它們的人。但即使他們確實向其他人鏈接,但該文件對該人可見也沒有什麼大不了的。它可能會發送給一個沒有登錄系統的人,並且仍然需要他們看到。問題是,他們不應該能夠通過簡單地更改URL來輕鬆找到其他文件。考慮到URL的長度,我認爲即使在暴力攻擊下用戶也不可能找到其他文檔。

我一直在尋找加密文件,但在這種情況下,它可能會增加一個不必要的負載到系統,並將要求所有用戶登錄到系統,以提供一種身份驗證手段。

您認爲URL的安全性如何?是否需要加密文件或URL的長度足以防止暴力攻擊發現文件?

感謝

回答

2

你是顯示的ID,假設它是通過一個適當的隨機過程中產生的,應該是相當反對任何形式的暴力攻擊的非常安全的。

您可以考慮使用相同的機制來創建文件名,因爲您的平臺用於生成會話ID:會話ID需要與您的URL一樣安全。

+0

使用System.Guid.NewGuid()生成鏈接。 – 2010-08-29 12:43:33

+0

@JWB在什麼平臺上? – 2010-08-29 12:52:52

+0

我正在使用。NET 4.0 – 2010-08-29 12:55:41

0

我想如果你的長文件名包含足夠的隨機性,你不需要加密文件。裝入強力攻擊來循環文件將非常困難。

1

嗯,這是一個相當長的URL,並且考慮到你有16到64個可能性0-9,a-f和長度爲64的事實,它不容易被暴力破解。

它不應該是某種東西的md5,而是隨機的東西。

1

這聽起來像你說的數據不敏感,所以可以確定。你可以ip記錄請求並阻止暴力攻擊這種方式

+0

那麼它對某個點敏感。但是,如果我將文檔附加到電子郵件併發送,則該電子郵件可能會轉發給任何人。我真的認爲這只是將文件鏈接發送給電子郵件,而不僅僅是文件本身。 – 2010-08-29 12:46:39

+0

非常真實,可以使它非常安全,而且人們仍然可以屏幕抓取內容 – 2010-08-29 12:55:03

1

如果所有的亂碼都是隨機的,那應該是安全的。但是,如果您期待暴力攻擊,那麼實施某些機制來防止這些攻擊會更好,可能是通過限制每IP時間的請求。

+0

沒錯,在這種情況下,文件是否被加密並不重要。訣竅在於首先防止蠻力攻擊。 – 2010-08-29 12:47:58

0

這確實取決於數據。這仍然基本上是安全的,因爲大多數人認爲這是一個糟糕的主意。這可能很難強制你的方式,但它只需要一個人幸運,並改變一個人的角色,得到一個不同的文件,該文件發生足夠敏感,這是一個問題。

另外考慮唯一的承諾GUID使他們是大多是獨特的。一個足夠好奇的人可能能夠研究你的GUID並找到一個模式。

我主要是扮演魔鬼的擁護者,你所有的計劃都可能是好的。

+0

是的,這也是我的關注。但我最好不要強迫用戶登錄。鏈接應該能夠通過電子郵件傳遞,就像原始文檔一樣。有一些使用GUID的模式。例如,第一個是該文件所屬的公司。所以一旦你有一家公司的文件立即減少數量。但它仍然是16^32。所提供的網址實際上只是一個例子,但我可以進一步考慮,例如company/task/documentid/filename,其中company/task/documentid將是GUID。 – 2010-08-29 13:00:57

相關問題