File-Based Encryption,又稱Filesystem-Level Encryption,文件系統加密。相比于FBE,第二個名字更能體現方案基于文件系統的技術特點。而基于文件系統的特點,一方面決定了只能由軟件實現,另一方面決定了各方案差異也主要圍繞在文件系統。
常見FBE方案,一般分為Stackable cryptographic filesystem 和Native/General filesystem
with encryption兩種。
第一種,新增一個加解密文件系統,堆疊在現有存儲軟件棧的某一層。例如Linux內核自v2.6.19開始支持,已很成熟穩定的eCryptfs方案,就是在VFS-》 Native FS層之間加入新加解密文件系統支持。類似還有基于用戶態文件系統FUSE的各種方案。
第二種,在現有文件系統中引入加解密功能。例如Linux內核自v4.1支持的Ext4文件系統加密,自v4.2支持的F2FS文件系統加密,自v4.10后支持的UBIFS文件系統加密。需要說明的是,內核中Ext4、F2FS、ubifs共用加解密功能模塊,即內核fscrypt特性。另外,Android系統引入的FBE方案,底層內核實現也是基于F2FS+fscrypt。
和FDE方案相比,FBE有幾個顯著的特點:
1、支持單獨的目錄或文件加密,方便靈活使用配置。只加密目標對象,不加密整個磁盤,降低了系統加解密負載開銷。
2、支持不同目錄/文件使用不同加密密鑰。
3、加密目錄和非加密目錄并存(甚至一個加密目錄中加密和非加密文件也可以并存)。加密目錄文件的備份傳輸靈活方便。
FDE vs FBE
前面分析已經知道,軟件FDE和FBE都是基于文件系統,差別主要在文件系統實現差異,整理對比如下:
【說明】軟件FDE/FBE主要是指其加解密功能主體在軟件(文件系統)實現,并不意味著不使用硬件,相反為了提高性能,也會利用類似Crypto Engine等硬件引擎來加速。
從整個系統軟硬件架構分析,可將硬件FDE、軟件FDE、以FBE實現和系統軟硬件架構的關系位置描述如下圖:
上圖中,磁盤加密方案,越往上層實現用戶使用配置越靈活,但性能差;越往下層實現越不靈活,但對用戶越透明且性能越好。結合前文描述,將FDE和FBE兩種方案的差異對比整理如下:
-
Linux
+關注
關注
87文章
11294瀏覽量
209341 -
磁盤
+關注
關注
1文章
375瀏覽量
25201 -
加密
+關注
關注
0文章
304瀏覽量
23914 -
文件系統
+關注
關注
0文章
284瀏覽量
19904
發布評論請先 登錄
相關推薦
評論