2011-03-19 78 views
0

我有一個P2P備份網絡,對等點可以存儲數據並稍後從另一個對等點檢索數據。我可以採取哪些最好的安全措施,以避免其他用戶未讀取數據?我打算使用單密鑰加密和數字簽名,但我確定這是否是正確的方法。 在此先感謝您的幫助加密算法

+0

我強烈建議您在實施前仔細閱讀加密和哈希處理方法 - 如果您不完全瞭解自己在做什麼,可以使用很多方法制作可實施的解決方案。 – Erik 2011-03-19 12:32:01

回答

1

對稱密鑰(單密鑰)加密將工作。但是,正確的做法有點棘手 - 務必瞭解密碼操作模式。您應該詢問用戶密碼,並使用該密碼派生主密鑰。那麼你應該使用基於主密鑰和塊編號的密鑰來加密每個數據塊(你正在將數據分成塊,對嗎?)。

數字簽名不會阻止竊聽,但無論如何您都應簽署內容,因爲您不能相信對方給您正確的內容。您應該使用MAC(消息認證碼),因爲無論如何您已經建立了對稱密鑰,並且用戶是唯一需要驗證簽名的一方。

0

如我所知,如果只是檢索存儲數據的創建者,那麼單個密鑰加密機制應該足夠了,因爲數據僅由該用戶加密和解密,而不需要一個重要的交易所。

證書(或公/私鑰)不是必需的,因爲沒有其他用戶參與加密過程。

同時考慮到使用MAC功能(消息認證碼)的必要性,以確保所存儲的數據不會被修改。

+0

是的,這正是我的意思是創造者是應該能夠解密數據的人。在這種情況下,我是否仍然需要使用數字證書或者這些不是必需的?感謝您的幫助 – Tzer001 2011-03-19 12:09:17

+0

@ Tzer001:是的..你不需要數字證書 – Heisenbug 2011-03-19 12:11:52

+1

然而,他確實需要一個消息驗證機制 - 它不一定是非對稱加密算法生成的簽名。 – Erik 2011-03-19 12:24:05

0

的問題是模糊的,但無論如何,這裏有雲:

每個節點生成一個唯一的加密密鑰 - 只知道本身。當它需要存儲數據時,它應該例如:用例如散列數據SHA算法,連接數據和散列,加密,存儲。這允許在檢索之後便宜地驗證數據,而不必處理不對稱算法。總結:使用哈希和對稱加密算法,沒有已知的弱點,例如SHA-2和AES,可避免例如SHA-2和AES。 MD5和DES。不需要非對稱算法,如RSA/DSA,而是使用嵌入式哈希簽名。

-1

破解加密的主要方式,特別是在這種情況下,仍然是蠻力。它在大多數情況下工作得非常好,非常高效。

要破解例如用於在md5哈希值後面簽署某個URL或密碼的祕密令牌,您可以啓動一堆Amazon EC2實例,只需付給他們所需的時間,然後分配蠻力攻擊。大多數算法在GPU上運行得更好,而不是CPUS,但它更加方便,因爲您可以更好地租用和共享CPU。

那麼這是什麼意思?從理論上講,如果您能分發攻擊,您可以在幾分鐘內將任何密碼或重點保護帳戶破解。在實踐中,這大多不起作用,因爲認證服務器限制了請求的數量,因此限制了你應用暴力的能力。

在這種情況下,您聽起來像是在完全將數據泄露給潛在的攻擊者。因此,如果您將文件存儲在我的計算機上,並且我想破解它們,我可以將它們分發到一個巨大的計算雲(這隻會讓我花費幾個小錢來完成這個短小的任務),並且會破壞您的簽名。

如果這是可能的,即使是很長的數字簽名者也不是安全的。當然,所需的計算能力的數量隨着密鑰的長度呈指數級增長,但這還不夠。

因此,在此介紹之後......那麼要走的路是什麼?

在我看來,最好的辦法是爲每個文件生成一個獨特的簽名,並將它們留在客戶端。不要使用共享簽名。

因此,如果我通過fileA.zip發送到您的服務器,我會在我身邊保留一個fileA.zip.key,使我可以對其進行分辨。通過這種方式你可以破解一個文件,但是我的賬戶沒有組合。

如果你做一個2048位密鑰或somethig每個文件單獨sotred這應該是非常安全的。

你也可以考慮使用bcrypt,你可以故意放慢加密過程,使攻擊更難。但請記住,這也會減慢你的結局。但是如果它的備份存儲或者僅僅是這樣做會帶來相當大的安全性。

+1

-1:蠻力高效?您將經過驗證的弱哈希算法(MD5)與完美的加密算法(如AES)混合使用。而且這個星球上還沒有足夠的計算能力來有效地強化現代哈希/加密算法,而這些算法沒有固有的弱點。 – Erik 2011-03-19 12:16:17

+0

我同意aes仍然安全。但蠻力並不關心算法。這就是爲什麼它被稱爲蠻力。當然,破滅一個MD5的論點比破除一個AAA的關鍵要容易得多,因爲它的時間要長得多,但原則是一樣的。 「一臺每秒鐘可以檢測十億次(1018)AES密鑰的設備理論上需要大約3×1051年的時間才能耗盡256位密鑰空間。」但很有可能發現keypae中缺少entrophy,就像ibms ssl實現和openssl一樣。我只是建議不要爲所有文件使用1個密鑰來提高安全性。 – 2011-03-19 12:24:07