2011-06-11 86 views
3

什麼是修訂控制PGP加密文本文件的好方法?修改控制PGP加密文本文件的好方法是什麼?

目標是

  • 只存儲PGP加密(最好用ASCII裝甲)文本文件的任何地方,在本地倉庫(工作拷貝)和遠程存儲庫(「中央」資料庫,邏輯上)。

  • 保留通過PGP加密功能加密(使用的GnuPG例如)在庫,其中修訂歷史記錄將被保存

  • 如果可能,降低了存儲開銷

如果一個人只是版本控制的PGP加密和ASCII裝甲文本文件,因爲它的全部內容在每次解密編輯時都會發生變化,然後在存儲並提交到修訂控制存儲庫之前進行加密,差異將大致與文件大小成比例,並將快速增長即使解密的變化ed文本很小。

+1

這看起來很奇怪。爲什麼要將加密文件存儲在版本控制的存儲庫中?爲什麼不控制對存儲庫本身的訪問,或者對存儲庫本身進行加密? – 2011-06-11 22:40:56

+1

這可能有助於定義此問題的範圍。有多少人需要訪問這些文件?那裏有多少個文件?這些文件有多大?他們多久更換一次?是否需要將文件與其他未加密的文件同步進行版本控制?所有計算機都在您的控制下訪問這些文件嗎?所有的電腦都在同一個網絡上嗎? – 2011-06-12 01:28:18

回答

2

我在想,你也許可以做一些加密計算,即你可以在一個方式對數據進行加密,計算機可以做某些計算與它不知道它的價值。但是,我認爲這不會有差異。無論您需要做什麼解決方案,實際上每次需要差異時都​​要求您輸入密碼,並解密文件並重新加密差異。

嗯...尋找更多,它看起來像你想要的是http://en.wikipedia.org/wiki/Homomorphic_encryption這是同態保留「差異」操作(儘管你的限制有些放鬆,因爲你的輸出域可能會不同於你的輸入) 。

5

您似乎正在訂購一個方形圓圈。加密的一個重要目標是避免明文和密文之間的小變化之間的任何關聯。因此,如果您要求可憐的VCS處理加密文件,您可以告別合理的空間消耗或任何增量。

我不清楚,如果你正在尋找加密所有你的文件或只是幾個。如果是前者,那麼在我看來,你需要去尋找一種在存儲的途中進行加密的VCS。

如果我有這個問題,我會被誘惑叉的git和實驗結婚它GPG。

+2

+1。整個加密點是使輸出與隨機數據不可區分。您無法壓縮(或差異)隨機數據。如果可能的話,這將構成PGP的重大突破...... – Nemo 2011-06-11 21:15:16

+0

「如果前者,在我看來,你需要去尋找一個VCS加密的存儲方式。」如果我正在編寫VCS,我不會將其作爲VCS的一部分來實現,而是確保VCS可以將數據存儲在支持加密的存儲中。例如NTFS文件系統(如果是windows的話) – 2011-06-11 21:16:46

+1

@zespri我可以看到一些爲客戶端提供端到端加密的VCS的參數,但是我也可以看到一個參數,它依賴於某個預先存在的強大的磁盤加密。 – bmargulies 2011-06-11 21:19:22

0

可以加密共享訪問PGP文件?我認爲你不能讓PGP只允許一個知道密鑰的人訪問數據。版本控制系統用於共享訪問,所以這是有問題的。

另一個問題是,大多數版本控制系統計算和存儲的增量,並且他們需要知道這些文件的純文本表示反正。

如果他們這樣做,沒有什麼能夠阻止你底層存儲的安全訪問。例如將數據存儲在加密文件系統中。這將不會被加密,但它將被加密。

反正,什麼是你正在努力實現的是PGP加密的目標是什麼?也許除PGP之外還有其他方法可以實現這一目標嗎?

我不知道任何支持PGP的版本控制系統的實現,甚至不支持一般的非對稱密碼。我懷疑它是否存在/實際。

再次,這一切都歸結爲「爲什麼」的問題。你能解釋一下通過使用PGP fo版本控制系統試圖達到的最終目標是什麼嗎?

+0

原因很簡單,一些用戶的明文文件需要進行修訂控制,以便跟蹤內容的歷史記錄以及加密保護隱私。 – 2011-06-13 03:13:39

+0

在這種情況下,我會去確保訪問SCM本身。 – 2011-06-13 03:25:50

相關問題