0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux系統(tǒng)中的FBE實(shí)現(xiàn)方案和特點(diǎn)

麥辣雞腿堡 ? 來(lái)源:OPPO內(nèi)核工匠 ? 作者:m0rgan ? 2023-11-29 11:23 ? 次閱讀

Linux系統(tǒng)FBE

從Linux系統(tǒng)軟件架構(gòu)看,典型FDE和FBE實(shí)現(xiàn)方案分布如下圖,包括基于dm-crypt的軟件FDE方案、基于通用文件系統(tǒng)的fscrypt FBE方案、基于VFS的eCryptfs FBE方案,以及眾多基于FUSE的FBE方案。

前面章節(jié)已經(jīng)簡(jiǎn)單介紹過(guò)基于dm-crypt的FDE方案在ubuntu虛擬機(jī)上的驗(yàn)證情況,這里先簡(jiǎn)單介紹Linux系統(tǒng)和內(nèi)核的幾種軟件FBE實(shí)現(xiàn)方案和特點(diǎn),后續(xù)章節(jié)會(huì)以eCryptfs為例做詳細(xì)分析。

FUSE-Based

FUSE即Filesystem in Userspace,用戶態(tài)文件系統(tǒng)。FUSE設(shè)計(jì)初衷就是為方便用戶不修改編譯內(nèi)核的情況下,在user space實(shí)現(xiàn)定制文件系統(tǒng)。FUSE架構(gòu)原理和實(shí)現(xiàn)如下圖,內(nèi)核態(tài)FUSE和用戶態(tài)libfuse為App –》 VFS -》 用戶文件系統(tǒng)鏈路服務(wù),用戶定制實(shí)現(xiàn)主要在User-Level Filesystem部分。

圖片

由于天然的靈活性,基于FUSE實(shí)現(xiàn)FBE的方案有很多,例如gocryptfs、EncFS、CryFS、securefs等。但是,F(xiàn)USE引入的多次系統(tǒng)調(diào)用和拷貝等開(kāi)銷,也導(dǎo)致基于FUSE的FBE方案通常性能都不好。gocryptfs項(xiàng)目有一個(gè)stackable FBE各方案的對(duì)比分析,該分析數(shù)據(jù)也驗(yàn)證說(shuō)明了FUSE FBE方案的優(yōu)缺點(diǎn)。

首先是各種stackable FBE方案介紹和整體特點(diǎn),從數(shù)量上看,F(xiàn)USE FBE方案占據(jù)絕大多數(shù),非FUSE方案只有eCryptfs。

圖片

其次,相比于eCryptfs,F(xiàn)USE方案在性能上整體處于劣勢(shì)。盡管gocryptfs在順序讀寫(xiě)上性能不錯(cuò),但在其他測(cè)試如解壓縮、MD5計(jì)算、目錄遞歸訪問(wèn)/刪除等測(cè)試項(xiàng)上看,劣勢(shì)也比較明顯。這和我們?cè)?.2章節(jié)對(duì)比FDE和FBE、以及分析磁盤(pán)加密在軟件棧不同層級(jí)實(shí)現(xiàn)的效果差異是一致的。

圖片

eCryptfs

eCryptfs衍生于Cryptfs項(xiàng)目,早期方案和設(shè)計(jì)思想源自2005和2007的兩篇論文,即《eCryptfs: an enterprise-class cryptographic filesystem for Linux》和《eCryptfs: a Stacked Cryptographic Filesystem》。eCryptfs項(xiàng)目分為內(nèi)核部分和用戶態(tài)部分,內(nèi)核態(tài)代碼于v2.6.19版本合入社區(qū)主線,用戶態(tài)代碼在軟件包ecryptfs-utils中維護(hù)。

eCryptfs和上面介紹的FUSE方案一樣,也屬于stackable FBE類型,故不依賴于OS底層文件系統(tǒng)類型,可以堆疊在各種文件系統(tǒng)之上,靈活性很好。也支持對(duì)不同文件、目錄加密,以及文件名加密。

當(dāng)前eCryptfs項(xiàng)目開(kāi)源社區(qū)活躍度不高,早期用戶/產(chǎn)品也在遷移,但其方案和設(shè)計(jì)原理仍然值得深入學(xué)習(xí)分析。

fscrypt

fscrypt是在內(nèi)核文件系統(tǒng)上實(shí)現(xiàn)的一個(gè)native FBE方案。fscrypt特性也包括內(nèi)核態(tài)和用戶態(tài)兩部分,內(nèi)核態(tài)部分是實(shí)現(xiàn)在fs/crypto目錄的公用加解密模塊,支持ext4、F2FS、UBIFS文件系統(tǒng)集成使用。用戶態(tài)工具fscrypt則實(shí)現(xiàn)各種命令行工具方便用戶使用。

fscrypt作為FBE方案,支持不同目錄/文件采用不同密鑰,對(duì)于metadata,fscrypt支持文件名filename加密,其他metadata如timestamp、size、attribute等不加密。fscrypt最大的應(yīng)用即Android
采用的FBE方案,結(jié)合F2FS文件系統(tǒng),對(duì)手機(jī)上的數(shù)據(jù)進(jìn)行data at rest encryption保護(hù)。本文受限于篇幅,不做詳細(xì)分析。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208717
  • 磁盤(pán)
    +關(guān)注

    關(guān)注

    1

    文章

    361

    瀏覽量

    25154
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    904

    瀏覽量

    28018
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux系統(tǒng)msg實(shí)現(xiàn)銀行終端模擬系統(tǒng)

    今天主要聊一聊,如何使用Linux系統(tǒng)下的msg實(shí)現(xiàn)銀行終端系統(tǒng)的模擬及運(yùn)行。
    發(fā)表于 10-26 09:27 ?1382次閱讀

    Linux系統(tǒng)特點(diǎn)

    內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)Linux的基本思想有兩點(diǎn):第一,一切都是文件;第二,每個(gè)軟件都有確定的用途。其中第一條詳細(xì)來(lái)講就是系統(tǒng)的所有都?xì)w結(jié)為一個(gè)文件,
    發(fā)表于 01-16 08:55

    Linux系統(tǒng)特點(diǎn)

    內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)Linux的基本思想有兩點(diǎn):第一,一切都是文件;第二,每個(gè)軟件都有確定的用途。其中第一條詳細(xì)來(lái)講就是系統(tǒng)的所有都?xì)w結(jié)為一個(gè)文件,
    發(fā)表于 08-01 09:52

    Linux系統(tǒng)核心的定制怎么實(shí)現(xiàn)?

    本文就如何對(duì)Linux系統(tǒng)的核心實(shí)現(xiàn)定制進(jìn)行論述,主要內(nèi)容包括Linux內(nèi)核部分和文件系統(tǒng),系統(tǒng)
    發(fā)表于 03-05 07:44

    如何在嵌入式操作系統(tǒng)ARM Linux實(shí)現(xiàn)ZLG7290的驅(qū)動(dòng)?

    I2C總線接口的工作模式和特點(diǎn)如何在嵌入式操作系統(tǒng)ARM Linux實(shí)現(xiàn)ZLG7290的驅(qū)動(dòng)?I2C總線在傳送數(shù)據(jù)過(guò)程中有哪幾種信號(hào)?
    發(fā)表于 04-23 06:00

    求分享一種Linux嵌入式視頻直播監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方案

    本文介紹了一種Linux嵌入式視頻直播監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方案
    發(fā)表于 06-03 07:00

    基于嵌入式Linux系統(tǒng)的LCD驅(qū)動(dòng)實(shí)現(xiàn)Implementa

    本文首先介紹Linux 系統(tǒng)設(shè)備驅(qū)動(dòng)的特點(diǎn),然后以S3C2410 平臺(tái)為硬件開(kāi)發(fā)環(huán)境,實(shí)現(xiàn)Linux2.6.14
    發(fā)表于 05-26 09:55 ?28次下載

    基于Linux的RFID交互系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    為了讓射頻識(shí)別的用戶可以根據(jù)各自的權(quán)限進(jìn)行相應(yīng)的操作,本文提出了一款基于Linux的RFID交互系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)方案。該系統(tǒng)的ID識(shí)別模塊通過(guò)
    發(fā)表于 10-10 14:39 ?67次下載
    基于<b class='flag-5'>Linux</b>的RFID交互<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    通過(guò)安裝該Linux-HA軟件可以實(shí)現(xiàn)Linux雙機(jī)系統(tǒng)的高可用性解決方案

    簡(jiǎn)介通過(guò)安裝該Linux-HA軟件,可以實(shí)現(xiàn)Linux雙機(jī)系統(tǒng)的高可用性解決方案,實(shí)現(xiàn)雙機(jī)
    的頭像 發(fā)表于 12-20 14:24 ?7592次閱讀
    通過(guò)安裝該<b class='flag-5'>Linux</b>-HA軟件可以<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>Linux</b>雙機(jī)<b class='flag-5'>系統(tǒng)</b>的高可用性解決<b class='flag-5'>方案</b>

    關(guān)于Linux特點(diǎn)析以及在嵌入式操作系統(tǒng)的應(yīng)用詳解

    本文分析了Linux特點(diǎn),穩(wěn)健性和局限性以及最重要的實(shí)時(shí)領(lǐng)域的應(yīng)用。過(guò)去,因?yàn)榉荘C的嵌入式硬件平臺(tái)價(jià)格昂貴,使得許多高性能要求的嵌入式系統(tǒng)不能實(shí)現(xiàn)?,F(xiàn)在,因?yàn)榱畠r(jià)的PC硬件大力發(fā)
    發(fā)表于 07-10 15:05 ?929次閱讀

    linux系統(tǒng)特點(diǎn)

    本視頻主要詳細(xì)介紹了linux系統(tǒng)特點(diǎn),分別有開(kāi)放性、多用戶、多任務(wù)、良好的用戶界面、設(shè)備獨(dú)立性。
    的頭像 發(fā)表于 03-01 16:22 ?5604次閱讀

    怎樣實(shí)現(xiàn)linux系統(tǒng)對(duì)windows系統(tǒng)的遠(yuǎn)程操作?

    在Windows,我們經(jīng)常使用ssh,vnc等工具對(duì)Linux操作系統(tǒng)進(jìn)行遠(yuǎn)程控制,但是在linux系統(tǒng)
    的頭像 發(fā)表于 04-17 09:52 ?3165次閱讀

    基于Linux的RFID交互系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)方案

    電子發(fā)燒友網(wǎng)站提供《基于Linux的RFID交互系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)方案.pdf》資料免費(fèi)下載
    發(fā)表于 10-23 10:32 ?0次下載
    基于<b class='flag-5'>Linux</b>的RFID交互<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>方案</b>

    Linux的文件系統(tǒng)特點(diǎn)

    Linux的文件系統(tǒng)特點(diǎn) 文件系統(tǒng)要有嚴(yán)格的組織形式,使得文件能夠以塊為單位進(jìn)行存儲(chǔ)。 文件系統(tǒng)
    的頭像 發(fā)表于 11-09 14:48 ?1099次閱讀
    <b class='flag-5'>Linux</b>的文件<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>特點(diǎn)</b>

    FBE是什么 FDE和FBE有什么區(qū)別

    File-Based Encryption,又稱Filesystem-Level Encryption,文件系統(tǒng)加密。相比于FBE,第二個(gè)名字更能體現(xiàn)方案基于文件系統(tǒng)的技術(shù)
    的頭像 發(fā)表于 11-29 11:08 ?4778次閱讀
    <b class='flag-5'>FBE</b>是什么 FDE和<b class='flag-5'>FBE</b>有什么區(qū)別