題 加密文件的文件格式


我有興趣了解應用程序生成的加密文件的格式 數據衛士。 據我所知,密碼的某種轉換存儲在名為“hexIdentifier”的字段中。我覺得奇怪的是,如果兩個文件使用相同的密碼保存,那麼它們都具有相同的'hexIdentifier'字符串。我不是在宣傳這個應用程序而且我不隸屬於該公司。我正在評估該應用程序。


3
2018-02-08 01:19


起源


如果存儲密碼,無論如何都不會是廣告 在 文件本身。 - Andrew Lambert
整個帖子是一個很棒的讀物。我對文件加密的實現一無所知。我所知道的只是堅持專家使用的東西。 - surfasb


答案:


我會 非常 如果確實將密碼(編碼或未編碼)存儲在加密文件中,則會感到驚訝,因為這樣做會表明對密碼學的理解基本缺乏,在這種情況下,如果您需要加密文件,強烈建議將密碼傳遞給軟件要安全。存儲密碼沒有實際的理由。

即使是低價也不是使用它的理由,如果它確實存儲了密碼,因為它有 豐富 的 其他節目 更安全,更均勻 自由 (事實上,甚至標準 檔案庫 提供安全加密功能(無需存儲密碼)。


至於Data Guardian,我有一些壞消息。我做了一些測試,你和Amazed是正確的。好像是 hexIdentifier 字段不僅與密碼有關,而且它甚至不是哈希,它是 實際密碼! (雖然編碼,但甚至沒有大字母表)。

如果使用增加大小的密碼(例如,一個字符,兩個字符,三個......)反复保存相同的文件,則會導致字段更改,但大小保持不變(64位),最多八個字符,然後從9到16個字符,字段更改為128位,依此類推。換句話說,它塊(填充?)並以8個字符的塊編碼密碼。如果是散列,則無論密碼長度如何,字段的大小都將保持不變。因此,它實際上編碼並存儲密碼本身。

程序文件夾中有一個DLL,表明它使用Blowfish塊密碼(使用64位塊 - 記住上面的64位塊?),因此密碼很可能用它和數據加密(雖然與數據分開,而不是作為同一個流的一部分,這使得它更加脆弱)。

我已經在幾分鐘內完成了算法的幾個方面,只需運行程序內測試(同時看電視),而無需在反彙編程序中打開它或查看單行代碼。我不認為對於有正當動機完全扭轉它的人來說太難了。


總之,如果您需要加密(有點違背了名稱的目的),Data Guardian就不夠可靠。如果你不這樣做 需要 加密或數據不敏感,那麼你可以使用它(它是一個專門的記錄保存程序,而不是通用的加密程序)。否則,如果需要安全性,那麼最好尋找具有更強加密的另一個記錄管理程序,或者只使用普通程序(甚至是Data Guardian)並使用通用加密程序加密保存的文件(或者 NTFS加密)。

你也可以 聯繫開發者 並詢問他們是否可以實施更強大的加密(甚至是標準的Microsoft加密API [1][2][3][4] 會很好;也 加密+ 很常見,因為Boost無法添加一個)。


6
2018-02-08 01:30



它看起來好像HexIdentifier標籤直接鏈接到密碼。可能不是這樣 是 密碼,但有一個相關性。 - Andrew Lambert
哈希可能是哈希。即使這是不可取的。使用不同的密碼加密小文件以獲得散列函數並不困難(特別 如果它是標準的,如MD5,SHA-1等),則通過暴力反轉密碼。 - Synetech
@Syntech:如果密碼以鹽漬哈希的形式存儲並且哈希算法足夠強,則從哈希中導出密碼可能與破解加密算法一樣困難。當然,如果密碼很弱,你可以強制它,但對於解密文件也是如此。 - Dennis
>密碼是我選擇的密碼。 11個隨機選擇的字母數字字符(A-Z,a-z,0-9)已經達到64位以上 @Dennis,密碼是算法限制的任何內容。密碼的大小取決於字母表。如果我只允許角色 {abc},那麼四個字符的密碼並不意味著32,768個排列(32位),它只有81個排列。 許多 更容易(和更快)破解。 - Synetech
@bpqaoozhoohjfpn,有什麼分析?我的意思是,根據他們的要求,他們可能會或可能不會在法律上負責。如果他們說它使用強加密(特別是如果他們明確說明了算法等),並且發生了違規行為,他們可能會因為虛假聲明而被告上法庭,但如果他們承認弱加密(或 也許 即使沒有特別要求,也不要說什麼,然後他們可能會說他們從未聲稱它是安全的。例如,如果我說我是一個木匠然後建造一個蹩腳的椅子,你可以起訴,但如果我承認自己很糟糕,那麼你真的不能抱怨,現在可以嗎? - Synetech