發(fā)布源:深圳維創(chuàng)信息技術(shù)發(fā)布時間:2020-11-23 瀏覽次數(shù): 次
1、TrueCrypt隨機數(shù)產(chǎn)生RandomNuderGenerator(RNG)
Random Number Generator(RNG)是一個內(nèi)存中的隨機數(shù)產(chǎn)生器。
它在TrueCrypt中發(fā)揮著重要作用。
RNG將產(chǎn)生各種密鑰,其中*主要的是加密卷首部分的卷首密鑰和以后實時加解密過程中的主次密鑰。
RNG還將產(chǎn)生卷首前512字節(jié)的 “鹽”和密鑰文件.用于基于PBKDF2的用戶 口令的實現(xiàn)中。
同時為了隱藏卷文件中重要內(nèi)容的大小.卷文件通常在創(chuàng)建的過程中填充臨時加密過的隨機數(shù).而這些隨機數(shù)也是RNG產(chǎn)生的。
在Win—dows平臺下RNG產(chǎn)生的隨機數(shù)是RNG實時收集 Windows操作系統(tǒng)的各種數(shù)據(jù)并通過一定方式的運算得到的。
2、TrueCrypt中實時加解密密鑰
對加密卷內(nèi)的文件進行讀寫操作時都需要加解密,而密鑰存放的位置和受保護的程度決定了加密文件的安全性。
True—Crypt把主次密鑰(實時加解密時的密鑰)存放在加密卷的卷首(512字節(jié))的第 256至511字節(jié)。
而卷首的512字節(jié)由不同于主次密鑰的卷首密鑰加密的。
卷首密鑰得到的理論基礎(chǔ)是PKCS#5(基于I=1令的密碼系統(tǒng)規(guī)范2.o)中的密鑰導(dǎo)出函數(shù)PBKDF2.得出的密鑰可以有效的防范字典攻擊。
PBKDF2主要公式是:DK=PBKDF2(P,S,C,dkLen),其中DK是*終導(dǎo)出的密鑰,參數(shù)P是口令(一個字節(jié)串)參數(shù)s是“鹽”(一個字節(jié)串)參數(shù)c是迭代的次數(shù).參數(shù)dkLen是導(dǎo)出密鑰的任意長度。
一般來說P就是用戶輸入的口令,而TrueCrypt為保證用戶口令的安全對參數(shù)P做了修改。
用“用戶口令+口令密鑰文件”方式得到新的用戶口令。
口令密鑰文件是TrueCrypt的一大亮點.它即可以由Tme—Crypt自己隨機生成。
又可以是用戶提供的任意格式任意大小的文件,如圖片文件、Mp3文件等。
并不是文件的所有數(shù)據(jù)都起作用,只有文件的前 1048576字節(jié)f1MB1的數(shù)據(jù)才作為有用數(shù)據(jù)進行運算。
TrueCrypt對 口令密鑰文件的數(shù)量也沒有限制。
PBKDF2中對分組的操作是基于基本 的偽隨機 函數(shù)的,True—Crypt中提供 了三種這 樣的函數(shù) HMAC—SHA-512、HMAC—RIPEMD-160、HMAC—Whirlpool。
3、TrueCrypt隱藏卷
隱藏卷形象的來說就是 “嵌套”在普通加密卷里邊的。
這樣設(shè)計考慮了用戶的安全需求。
當(dāng)用戶被脅迫解密加密卷時用戶可以把隱藏加密卷的 “外套”普通加密卷解密,透露一些無關(guān)緊要的信息,而真正的受保護的信息則隱藏在隱藏卷中,得以保護。
由此可見隱藏卷的創(chuàng)建過程必須是:首先創(chuàng)建一個普通卷然后在普通卷里創(chuàng)建一個隱藏卷。
需要注意的是普通卷和普通卷里的隱藏卷的用戶口令必須是不同的。
在加載卷時TrueCrypt根據(jù)用戶 口令來判斷是加載普通卷還是普通卷里的隱藏卷。
所以用戶在脅迫的情況下可以告訴普通卷的口令。
來保護信息。
4、TrueCrypt加密卷的創(chuàng)建和加載
加密卷的創(chuàng)建過程如下:用戶選擇創(chuàng)建參數(shù),包括加密算法 、哈希函數(shù)、文件系統(tǒng)、加密卷大小等;按照卷首格式在內(nèi)存中創(chuàng)建卷首:根據(jù)用戶選擇的文件系統(tǒng)格式化加密卷,并向卷內(nèi)填充隨機數(shù):創(chuàng)建備份卷首。
加密卷的加載就是把加密卷虛擬成一個虛擬磁盤。
用戶通過向磁盤內(nèi)讀寫文件.實現(xiàn)加解密.
Copyright © 2021 深圳市維創(chuàng)信息技術(shù)有限公司 版權(quán)所有