使用EFS&BitLocker保護自己數據
EFS(Encrypting File System)是Microsoft自Windows XP操作系統推出以來所提供的文件級加密功能。此功能會為文件進行加密,但不影響用戶刪除文件的權限。硬盤格式需為NTFS,操作系統需為Windows家庭版以上方可支援此功能。啟用此功能後,系統會生成一條FEK(File Encryption Key),然後使用此FEK加密文件,刪除原始未加密的文件,再利用當時用戶的公鑰(public key),加密剛剛生成的FEK,把加密後的FEK合併儲存在文件中。當用戶讀取文件時,會利用用戶的私鑰(private key)解密文件的FEK,然後使用剛剛解密的FEK對文件進行解密。由於EFS使用對稱加密算法,因此速度很快,適合在敏感文件中啟用這個功能。啟用此功能後,只有登入後才能存取該檔案,不用輸入密碼解密文件,非常方便。即使使用管理員賬號登入或使用其它操作系統嘗試讀取加密文件,亦沒有權限讀取已加密的文件。但需要注意的是,由於此功能是利用用戶的私鑰解密文件,一旦用戶被刪除或不能正常啟動系統,文件便無法讀取,因此建議使用此功能後,用家可以嘗試備份用戶的私鑰,以防意外發生時無法讀取已加密的文件。
BitLocker是Microsoft自Windows Vista操作系統推出以來所提供的硬盤加密功能,能夠加密整個硬盤分區,沒有限制硬盤格式,但僅支援Windows 家庭版以上的操作系統。BitLocker支援使用TPM,密碼以及USB密鑰解密。TPM(Trusted Platform Module)是根據TCG所規範而製作的模塊,主要用於簽註密鑰。由於使用TPM以外的方法啟用BitLocker,將之應用在系統分區時,需要修改註冊表才可使用,因此本文主要討論以TPM方法在系統分區啟用BitLocker的原理,但其主要加密方式大致相近。
當用戶初始化BitLocker時,BitLocker會使用RSA加密方式生成一條SRK(St-
orage Root Key),把該密鑰儲存在TPM中,並把Firmware、MBR(Master Boot Record)及Bootloader返回給PCR(Platform Configuration Register),並記下PCR的值。用戶啟用BitLooker後,下次開機時,系統會先把Firmware、MBR及Bootloader傳送給TPM中的PCR,當TPM確認PCR的值與初始化時的值相同時,TPM便會釋放SRK(St-
orage Root Key),並利用SRK以AES算法解密VMK(Volume Master Key)。由於一個硬盤可以有多個分區。此時系統會利用VMK以AES算法解密系統分區的FVEK(Full Volume Encryption Key)。又由於每個分區都是由不同的扇區組成,因此每個扇區都有不同的Sector Key。最後,系統會利用已解密的FVEK來解密出SectorKey,並使用該Sector Key以AES算法解密當前扇區的內容。當用戶的PCR值發生改變時,即代表Firmwa-
re,MBR或Bootloader發生了修改,此時無法直接進入系統,需要輸入Recovery Pin才能進入系統。
儘管BitLocker和EFS都是Microsoft推出的文件加密功能,但兩者是有分別的。BitLocker加解密時可以不依靠當前操作系統,但EFS要以當前用戶的公鑰私鑰完成加解密。啟用BitLocker需要使用管理員權限,但EFS只需登入用戶即可以完成加密。由於BitLocker會使用到TPM,因此有一定的硬件限制,當硬盤移至新電腦便無法正常讀取,但EFS沒有硬件限制,即使硬盤移到新電腦啟用,只要用戶能夠登入賬號,便能讀取文件。BitLocker以加密硬盤分區為單位,而EFS則以文件為單位。兩者的加密方式,安全策略,硬件要求各有不同,用家應該根據自己的實際情況使用相應的加密功能,從而保護自己的數據。用家亦可以同時使用BitLocker及EFS,從而進一步保護數據。
Reference:
Image1:https://commons.wikimedia.org/wiki/File:EFSOperation.svg
Image2:https://www.itsfun.com.tw/BitLocker/wiki-771153