0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FBE是什么 FDE和FBE有什么区别

麦辣鸡腿堡 来源:OPPO内核工匠 作者:m0rgan 2023-11-29 11:08 次阅读

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

    文章

    10993

    浏览量

    206747
  • 磁盘
    +关注

    关注

    1

    文章

    339

    浏览量

    24888
  • 加密
    +关注

    关注

    0

    文章

    293

    浏览量

    23593
  • 文件系统
    +关注

    关注

    0

    文章

    273

    浏览量

    19683
收藏 人收藏

    评论

    相关推荐

    SPI和QSPI什么区别

    SPI和QSPI什么区别
    发表于 02-06 06:12

    $88和$0088什么区别

    请问,$88和$0088什么区别,为什么一个是直接寻址一个是扩展寻址呢
    发表于 10-12 22:45

    proteus和protle什么区别

    proteus和protle什么区别
    发表于 06-21 09:55

    mspG2553中 TimerA和TimerB什么区别?TA1和TA0什么区别

    mspG2553中 TimerA和TimerB什么区别?TA1和TA0什么区别
    发表于 05-15 22:39

    0603、0805和1206的电容什么区别?0603、0805和1206的电感什么区别

    0603、0805和1206的电容什么区别?0603、0805和1206的电感什么区别
    发表于 04-19 22:17

    DAC芯片什么区别

    我想选一款16位、4通道DAC芯片,在选定的一些芯片中,发现Architecture区别,分别是R-2R和Sting,请问它们什么区别,谢谢
    发表于 06-18 10:16

    RISC和CISC什么区别

    RISC vs CISC什么区别
    发表于 04-02 06:27

    static函数与普通函数什么区别?  

    部变量能否和全局变量重名?   如何引用一个已经定义过的全局变量?  全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?static函数与普通函数什么区别?  队列和栈什么区别
    发表于 12-03 06:15

    什么是EEPROM?和FLASH什么区别

    什么是EEPROM?和FLASH什么区别
    发表于 01-24 06:48

    IDF AT Bin和Qcloud IoT AT什么区别

    IDF AT Bin 和 Qcloud IoT AT 什么区别?ESP8266 RTOS SDK和NONOS SDK什么区别? 如果我安装例如 RTOS SDK,它是否也会升级 A
    发表于 05-12 06:50

    STM32的FSMC和FMC什么区别

    STM32的FSMC和FMC什么区别呢? 有的系列,比如F103是FSMC,有的系列,M4就是FMC了。这两者什么区别呢?
    发表于 09-26 06:17

    rdram和sdram什么区别

    在电脑上拆到2条rdram内存条,这个和sdram内存条什么区别,可以兼容吗
    发表于 10-08 09:01

    哈希与加密什么区别

    哈希与加密什么区别
    发表于 10-09 06:29

    openCV和openMV什么区别

    两个什么区别,我们常用的视觉库是哪个
    发表于 10-11 07:02

    Linux系统中的FBE实现方案和特点

    Linux系统FBE 从Linux系统软件架构看,典型FDEFBE实现方案分布如下图,包括基于dm-crypt的软件FDE方案、基于通用文件系统的fscrypt
    的头像 发表于 11-29 11:23 506次阅读
    Linux系统中的<b class='flag-5'>FBE</b>实现方案和特点