分析StrongDisk加密磁盤的文件格式(一)

        一直使用StrongDisk創建加密磁盤來保存我的個人文件。使用了2年多,非常穩定,速度也挺快的。而且安全性也挺高的,據作者說了,如果用戶忘記密碼,作者也恢復不出其中的文件,只有爆破。以前我曾經有此忘了密碼的慘痛經歷,那事放了好長時間的假,沒摸電腦,回來死活想不起來它的密碼。最後也只好不了了之了。
        前些天心血來潮,忽然想分析一下它的加密磁盤的文件格式,瞭解加密流程後寫個暴力破解工具,萬一忘了密碼,可以跑一下(我的密碼設的不長,長了是跑不動的)。沒搞過類似的,只好採用苯辦法,對加密磁盤的創建參數,只選一個變化,別的不變,再用UltraEdit的文件比較功能,看那裏不同。
        看作者的幫助,軟件將用戶的密碼通過HASH算法轉化爲20字節的串,而這個串就是加密文件內容的密鑰,但這個穿是不是明文存在文件中的,而是通過密鑰加密算法加密後,存在磁盤中的。作者所選取的算法,都是國際上通用的一些算法,這些加密算法的強弱依賴於密鑰,也就是說,密鑰的加密算法也需要密鑰,因爲這個密鑰不能固定不表,所以我猜測密鑰加密算法的密鑰也是用戶輸入密碼通過某種變化的來的。下面是加密磁盤創建過程:
       用戶密碼-----(HASH算法)-----〉數據加密密鑰KD
       用戶密碼-----(某種變化)-----〉密鑰加密密鑰KK
       數據加密密鑰KD-----(密鑰加密算法+Kk)-----〉KE
       數據文件-----(數據加密算法+KD)-----〉數據加密文件
下面是用戶驗證過程:
       用戶密碼-----(HASH算法)-----〉數據加密密鑰KD1
      
用戶密碼-----(某種變化)-----〉密鑰加密密鑰KK1
       數據加密密鑰KD1-----(密鑰加密算法+Kk1)-----〉KE1
      
如果KE1與KE相等則正確,否則錯誤。
    
下面是部分分析結果:
測試目的
測試條件
測試數據
測試結論
確定磁盤
大小:
(Size)
鑰匙加密算法(k):Blowfish-448
數據加密算法(d):AES-128
哈希算法(h):SHA/哈希算法
文本密碼:00000000
文件格式:NTFS
文件大小變化:
01aH-01cH
3M(23)
4 M (31)
5 M (39)
11 M (87)
1234M(268fH)
確定01aH-01cH代表磁盤大小:
公式Size=(X+1)/8
確定單位
鑰匙加密算法(k):Blowfish-448
數據加密算法(d):AES-128
哈希算法(h):SHA/哈希算法
文本密碼:00000000
文件格式:FAT16
文件大小:1024K ,2345K
01aH-01Dh
1024K(07FFH) 2345K(1251H)

綜合大小和單位,確定01aH-01dH代表磁盤大小,公式爲:Size=(X+1)/2 K

確定密鑰
加密算法
(K)
數據加密算法(d):AES-128
哈希算法(h):SHA/哈希算法
文本密碼:00000000
文件格式:NTFS
文件大小:3M
鑰匙加密算法(k)變化
21H,23H
Blowfish-448(0FH,16H)
3DES(02H,16H)
AES-256(11H,1eH)
Gost256(0Bh,16H)
21h,23H確定密鑰加密算法:
Blowfish-448(0FH,16H)
3DES(02H,16H)
AES-256(11H,1eH)
Gost256(0Bh,16H)
確定數據
加密算法
(D)
鑰匙加密算法(k):Blowfish-448
哈希算法(h):SHA/哈希算法
文本密碼:00000000
文件格式:NTFS
文件大小:3M
數據加密算法(d)變化
 
 這裏還沒結果
確定哈希算法(H)
鑰匙加密算法(k):Blowfish-448
數據加密算法(d):AES-128
文本密碼:00000000
文件格式:NTFS
文件大小:3M
哈希算法(h)變化
13H,24H-25H
MD5(caH,3163H)
SHA(cbH,c59fH)
GOST(ceH,fdc0H)
 這裏雖然發現的變化,但感覺沒什麼規律。

      

        現在只確定了部分格式,之所以把沒有完成的貼出了,一方面是因爲本人水平有限,想起個拋磚引玉的作用,歡迎高手給出更好的思路;另一方面最近比較忙,怕萬一沒時間搞,忘了的話就不好了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章