田文郁 張靜文 張鵬 張曉燁 廖赟
(南京拓界信息技術有限公司,江蘇南京 210014)
BitLocker(BitLocker Driver Encryption)是微軟公司在 Windows Vista 操作系統(tǒng)內(nèi)首次提供的一項數(shù)據(jù)保護功能[1]。Win7/Win8/Win10系列操作系統(tǒng)使用了此安全策略,包括計算機全磁盤加密、磁盤分區(qū)加密以及BitLocker To Go移動存儲設備加密等功能。Windows 系統(tǒng)的各個版本不斷改進BitLocker的安全性,從而允許操作系統(tǒng)為更多驅(qū)動器和設備提供BitLocker 保護。BitLocker 是扇區(qū)級別的加密,它可以對操作系統(tǒng)所在的驅(qū)動器進行保護,也可以對普通磁盤的數(shù)據(jù)進行保護。BitLocker 強大的數(shù)據(jù)保護功能解決了用戶信息泄露的危險,但同時給電子數(shù)據(jù)取證帶來了很大挑戰(zhàn)。下面基于Windows分區(qū)加密模式下的數(shù)據(jù)取證的相關問題進行探討,依據(jù)BitLocker加密機制,提出面向Clear key保護磁盤數(shù)據(jù)解密加密的取證方法。
BitLocker 使用全卷加密密鑰FVEK(Full Volume Encryption Key)對驅(qū)動器的數(shù)據(jù)進行加密,F(xiàn)VEK又通過卷主密鑰VMK(Volume Master Key)進行加密,VMK 則可以通過用戶選擇不同的保護密鑰進行加密,包括TPM、PIN碼、啟動密鑰、用戶密碼以及恢復密鑰[2]。BitLocker加密密鑰和保護密鑰的關系圖1所示。
圖1 BitLocker加密密鑰和保護密鑰的關系
(1)全卷加密密鑰(FVEK)。全卷加密密鑰(FVEK)是BitLocker驅(qū)動器加密算法中最核心的密鑰,用來加密所選磁盤中的靜態(tài)數(shù)據(jù),F(xiàn)VEK通過VMK 加密存儲在磁盤加密數(shù)據(jù)中。FEVK的核心部分以AES 128bit或AES 256bit兩種擴展密鑰的形式存儲,但用戶無論是選擇128bit還是256bit,密鑰的實際長度都是256bit。密鑰的存儲格式圖2所示??梢钥吹?,AES 128bit密鑰僅有前128bit被用來加密,后128bit為空,AES 256bit密鑰256bit都用來進行加密。
圖2 128/256位FVEK密鑰結(jié)構(gòu)圖
(2)卷主密鑰(VMK)。在BitLocker 驅(qū)動器加密的密鑰管理系統(tǒng)中,VMK 是第二層密鑰。VMK和FEVK一樣都是存儲在BitLocker的加密卷上。每一個不同的VMK由不同的方式進行加密,通過這些不同方法可以允許用戶通過不同的方式訪問BitLocker加密卷。VMK的存儲格式和FVEK相似,大小為256bit,存儲在多個FVE卷主密鑰結(jié)構(gòu)中。VMK存儲時使用恢復密鑰、外部密鑰或TPM加密。
(1)TPM??尚牌脚_模塊,是一塊內(nèi)置在計算機中的微芯片,由CPU、存儲器、I/O、密碼運算器、隨機數(shù)產(chǎn)生器和嵌入式操作系統(tǒng)等部件組成[3]。TPM相當于一個“保險柜”,可以將卷主密鑰(VMK)和密碼管理等重要的信息存放在里面。(2)PIN。在TPM之外,用戶使用輸入的數(shù)字/字母組合的密鑰來保護卷主密鑰(VMK)。(3)Startup key。使用移動介質(zhì)存儲的密鑰,可以單獨使用,也可以和TPM組合使用。(4)Rcovory password。用來解密恢復模式的48位數(shù)字密鑰。(5)Recovery key。存儲在移動介質(zhì)中,用來恢復加密數(shù)據(jù)。(6)Clear key。清除密鑰是存儲在卷上的未受保護的256位密鑰,這種方式對主密鑰沒有保護作用。
Windwos系統(tǒng)允許用戶在不解密BitLocker加密卷的情況下關閉BitLocker,當BitLocker禁用后,系統(tǒng)會向卷元數(shù)據(jù)塊中寫入一個256bit的密鑰,和使用此密鑰對VMK加密的密文副本。密鑰對應的元數(shù)據(jù)結(jié)構(gòu)將包含GUID、時間戳、256bit密鑰和VMK的一個加密版本。此時系統(tǒng)可在不需要任何其他信息的情況下解密VMK和FVEK。通過實驗發(fā)現(xiàn),一些為Windows 10系統(tǒng)設計的設備(如Surface),在具有TPM芯片的情況下默認下自動創(chuàng)建必要的分區(qū)和初始化加密,并在磁盤的元數(shù)據(jù)中存儲用Clear key。為了達到對硬盤中的電子數(shù)據(jù)取證的目標,可采取預處理備存加解密認證模塊,然后啟用Clear Key解密BitLocker加密分區(qū),對分區(qū)加密機制進行閑置性處理,由此通過分區(qū)解密認證,繼而對電子數(shù)據(jù)進行獲取,最后將預處理備存加解密認證模塊進行恢復,從而達到數(shù)據(jù)取證的目的。
在實際案例中,通過Manage-bde -status工具查看設備的加密狀態(tài),如圖3所示為磁盤bitlocker加密狀態(tài)圖。BitLocker加密了磁盤已用空間,保護狀態(tài)為關閉。但是密鑰保護器顯示找不到,也就是說默認情況啟用的BitLocker加密,其密鑰是不被保護的,即存在明文狀態(tài)的Clear Key,可通過Clear Key解密得到VMK,進而解密FVEK,最終解密整個保護卷數(shù)據(jù)。
圖3 查看磁盤bitlocker加密狀態(tài)
BitLocker是Windows主機最常用的一種加密方式,在計算機取證中遇到BitLocker加密的概率也會越來越高。面對不斷完善的磁盤加密技術及種類繁多的加密軟件,電子數(shù)據(jù)取證未來的研究工作必須攻克現(xiàn)有的難題并不斷地技術創(chuàng)新,以提升我國計算機取證的技術能力,為國家安全穩(wěn)定做出貢獻。