詳解Win10 TH2引入的XTS-AES加密算法

Win10正式版TH2更新帶來了很多新功能,同時也引入了最新的XTS-AES加密算法,使得BitLocker對文件的加密技術(shù)得到了提示。在使用最新加密技術(shù)的BitLocker上。

BitLocker加密是近幾代Windows操作系統(tǒng)(包括Win7/Win8/Win8.1)都有的功能,開啟BitLocker后可對分區(qū)中的數(shù)據(jù)進(jìn)行加密,防止你的數(shù)據(jù)失竊,在很多新出廠的Windows平板設(shè)備中也都默認(rèn)啟用該功能。

在Win10 TH2中微軟引入了名為XTS-AES加密算法,使得數(shù)據(jù)加密更加安全。BitLocker支持128位和256位XTS-AES Key,不過你需要注意的是,采用新加密算法加密的驅(qū)動器在舊版本W(wǎng)indows操作系統(tǒng)中是不可以被訪問的。改進(jìn)后的BitLocker可以讓用戶通過Azure活動目錄恢復(fù)設(shè)備。

AES 分組加密操作模式有三種:ECB、CBC、XTS。

我們知道一個功能模塊,如果所有的輸入相同,那么輸出也相同。

AES模塊也一樣,大量數(shù)據(jù)輸入之后很容易找到一些規(guī)律, 這就是明顯的攻擊點。

ECB到CBC到XTS主要需要解決的問題是 (1、相同的數(shù)據(jù)塊 得到的密文是否相同 2、能否隨機訪問各個數(shù)據(jù)塊 解密一個數(shù)據(jù)塊是否需要解密相鄰的其他數(shù)據(jù)塊)

ECB 相同的數(shù)據(jù)塊 密鑰一樣的話 輸出的密文也一樣 這樣有嚴(yán)重的漏洞 容易被攻擊。

詳解Win10 TH2引入的XTS-AES加密算法

CBC 引入了一個IV值遞歸,上一組加密后產(chǎn)生新的IV值作為下一數(shù)據(jù)塊加密的輸入這樣至少有個一個參數(shù)不同,但帶來的問題是沒有辦法隨機訪問各個區(qū)塊了,訪問某個區(qū)塊必須解出前一個區(qū)塊數(shù)據(jù)。

詳解Win10 TH2引入的XTS-AES加密算法

XTS 加入了tweak key 與 AES key 互相配合, 各個區(qū)塊用同樣的AES key 但Tweak key 不相同 比如設(shè)置為與區(qū)塊的index 成對應(yīng)關(guān)系, 這樣各個區(qū)塊數(shù)據(jù)加密解密互相獨立(獨立的tweak key)

詳解Win10 TH2引入的XTS-AES加密算法

綜上所述 XTS 相比ECB和CBC解決的兩個問題是:

1 相同的數(shù)據(jù)塊得到的密文不可以相同。

2 不同數(shù)據(jù)塊可以獨立加密和解密。