馮志華,張宇軒,羅重,王佳寧
面向分布式存儲的高性能可重構加密方案
馮志華,張宇軒,羅重,王佳寧
(北京計算機技術及應用研究所,北京 100854)
全球進入以數字經濟為主導的信息社會,數據成為關鍵生產要素,當今越來越多的數據被收集、處理和存儲,分布式存儲系統作為一種高效的存儲架構在各數據領域得到廣泛應用。然而,隨著數據存儲規模的不斷擴大,分布式存儲面臨著信息泄露、數據破壞等更深層次的安全風險挑戰。這些挑戰將推動大數據分布式存儲安全技術的創新變革,促進了國產密碼技術和計算存儲技術的融合。針對分布式存儲節點數據信息泄露等安全問題,考慮到分布式存儲加密性能與靈活性等需求,提出一種動態可重構加密存儲解決方案。該方案設計了基于bio映射框架的高性能可重構密碼模塊,在此基礎上構建多個配用不同密碼算法的存儲池,實現高性能硬盤數據加解密操作和存儲池密碼算法動態切換,并開發了具有密碼算法和密鑰遠程在線加載功能的密碼協議,滿足各存儲節點可重構密碼模塊統一管理與便捷安全更新需求,實現基于密碼重構技術的數據細粒度加密保護和邏輯安全隔離功能。實驗結果表明,該方案對存儲數據進行加密保護與安全隔離的性能損耗約10%,可為分布式存儲系統達到GB/T 39786-2021《信息安全技術信息系統密碼應用基本要求》第三級及以上在設備和計算安全、應用和數據安全等方面提出的密碼應用技術要求提供技術途徑。
分布式存儲加密;可重構加密技術;塊設備加密;算法在線加載;邏輯安全隔離
作為云存儲中使用的重要技術之一,分布式存儲技術通過存儲即服務模型實現了大批量數據的遠程存儲[1-2],使用此技術的分布式存儲系統的可靠性、可用性和存取效率得到了提升,并易于擴展。然而,當前的分布式存儲系統在安全方面仍存在問題,在醫療、金融等重要領域中都曾出現數據泄露事件,造成重大經濟損失和不良社會影響。如何同時兼顧分布式存儲系統的安全與性能,確保存儲數據不可泄露與安全隔離是當前亟待解決的問題[3]。
在分布式存儲環境下,保證數據存儲的安全性主要是保證數據自身的隱私性、機密性、完整性和可用性,針對這些方面,使用密碼技術對數據存儲安全進行保障是最合適且滿足要求的方法。為對應用密碼技術的分布式存儲系統進行定性分析,標準GB/T 39786—2021《信息安全技術信息系統密碼應用基本要求》從物理和環境安全、網絡和通信安全、設備和計算安全、應用和數據安全4個方面提出了密碼應用技術要求,標準GB/T 37939—2019《信息安全技術網絡存儲安全技術要求》從訪問安全、系統安全、數據安全及管理安全等方面對網絡存儲提出了安全功能要求和安全保障要求。根據以上需求,結合分布式存儲系統在應用場景及性能等方面對數據存儲安全的需求,具體總結如下。
1) 海量數據安全存儲對高性能密碼運算的需求。隨著近些年數據量的不斷增長,大量數據的高性能計算和存儲對分布式存儲的性能提出了超高需求。同時,標準GB/T 40879-2021《數據中心能效限定值及能效等級》提出了對數據中心能效等級的技術要求,隨著綠色計算被業界廣泛提及與推廣,對分布式存儲系統提出了高性能、低功耗、低時延的需求,數據的安全存儲對高性能密碼運算提出了需求。
2) 不同安全等級、不同用戶對云端數據存儲安全隔離需求。為了確保數據存儲安全,標準GB/T 37973—2019《信息安全技術大數據安全管理指南》中提出在系統安全性設計時需要考慮將不同類別和級別的數據分開存儲,采取物理或邏輯隔離機制。并且,分布式存儲系統需要為多種用戶提供數據存儲服務,需要使用多種密碼算法來保障不同用戶數據和業務數據的安全隔離,這對密碼算法的快速靈活切換提出了需求。
3) 密碼資源(密碼算法參數及密鑰等)統一管理、便捷更新[4]需求。部分涉及國家安全的重要領域,往往對密碼算法有特殊需求,會使用區別于標準算法的非公開特定密碼算法。這種背景下算法更新和升級的速度快,需要對算法信息等關鍵密碼資源進行統一管控,保證其本地存儲及外部配置的保密性和安全性。
有許多學者對分布式存儲系統的數據安全性提升問題進行了研究。文獻[5]提出一種應用于云計算場景的輕量級加密算法,用以提升安全性和降低性能損耗;文獻[6]對Ceph分布式存儲系統進行了改進,提出將加解密操作放置于各個客戶端的網關,從而緩解加解密操作帶來的性能瓶頸;文獻[7]提出將存儲文件數據分為兩部分,每部分進行混淆加密后分割存儲,可以實現更低的存儲開銷;文獻[8]基于遺傳算法,提出了一種應用于分布式存儲系統的隱私數據保護框架;文獻[9]提出一種加密數據的云存儲方案,在封閉計算環境中對數據安全加密后再存儲至分布式文件系統。以上提出的安全存儲方案中均采用密鑰變更的方式對數據進行保護,且沒有做到對密碼資源的統一管理和配置更新。
針對以上分布式存儲系統的數據存儲安全問題與需求,本文提出一種動態可重構加密存儲解決方案,對存儲節點數據進行細粒度加密和安全隔離。本文方案將存儲空間劃分為配用不同加密算法的存儲池,采用可重構密碼模塊為存儲池靈活快速地切換密碼算法,提供數據細粒度加解密服務,并使用密鑰管理系統為可重構密碼模塊提供密碼算法和密鑰遠程在線加載配置和管理,實現對密碼資源的統一管理與便捷更新。
相較于使用通用處理器架構以及專用集成電路架構的密碼芯片,可重構密碼芯片具有較高靈活性和性能,并且可以將算法信息進行隔離,在設計制造過程中不包含密碼算法的信息,具有“安全白片”的特征[10]。
本文使用的可重構密碼芯片架構為粗粒度可重構架構(CGRA,coarse-grained reconfigurable architecture),其對稱加密算法性能可達25 Gbit/s,符合大規模數據的加解密性能要求。此芯片支持外部配置算法資源,算法及協議配置信息可通過映射工具編譯完成后外部配置到可重構密碼芯片中[4]。不同密碼芯片的性能對比如表1所示,測試算法為AES(advanced encryption standard)對稱加密算法。相較于其他架構的密碼芯片,本文使用的密碼芯片靈活性高,可以靈活快速配置和切換算法,與同架構的密碼芯片相比,本文使用的密碼芯片功耗較低,可以較好地滿足高性能和低功耗的使用需求。
同時,可重構密碼芯片作為一個獨立的功能模塊集成在系統中,可重構計算通路的重構功能由其配置通路完成,其功能實現和規模不受主控處理器的影響,具有較高的靈活度[18]。并且,此可重構密碼芯片支持物理不可復制函數(PUF,physical unclonable function),依據PUF對配置信息及密鑰等進行保護,可以做到配置信息明文不出芯片、密碼運算不出芯片,保證外部配置過程的安全性。

表1 不同密碼芯片的性能對比
注:文獻中未說明的密碼芯片的相關數據在表格中用“—”標明。
根據前文對分布式存儲系統存儲數據的加密需求分析,本文設計一種面向分布式存儲的動態可重構加密存儲模型,通過使用支持多種算法靈活重構的可重構密碼芯片來實現可重構密碼模塊,為存儲數據提供密碼服務和安全保障,并使用密鑰管理系統為可重構密碼模塊提供密碼資源的安全配置和安全更新,滿足標準GB/T 39786—2021《信息安全技術信息系統密碼應用基本要求》第三級及以上對應用密碼技術的分布式加密存儲系統的部分要求:首先,使用密碼技術對登錄設備的用戶進行身份鑒別,保證用戶身份的真實性;其次,在遠程管理設備時應采用密碼技術建立安全的信息傳輸通道;最后,采用密碼技術保證重要數據在傳輸和存儲過程中的機密性。根據以上設計原則,本文主要研究內容分為以下3點。
1) 本文選擇在存儲服務器端調用可重構密碼模塊對塊存儲數據進行加解密,此過程對上層用戶是無感知的,用戶不必考慮如何管理數據加密相關的密鑰及算法信息,并且為上層用戶提供不同安全等級的數據資源讀寫,實現數據安全隔離,本文設計使用不同算法的加密存儲池,并實現與用戶的綁定,后續如果考慮應用系統細粒度安全需求,可以增加應用層安全防護措施。
2) 在服務器端調用可重構密碼模塊對數據進行加解密操作需要考慮降低數據加解密所帶來的性能損耗問題,而在服務器端的應用層進行加解密,數據需要從應用層流轉至可重構密碼芯片中進行加解密,在流轉時的損耗較大,會影響到最終的整體性能。因此,為實現對數據的較高性能加密存儲,減少數據傳輸損耗,本文選擇在服務器端文件系統級做改進,通過在塊設備層更改數據流傳輸,調用可重構密碼芯片對數據做加解密操作。

圖1 分布式加密存儲系統層次架構
Figure 1 Distributed encrypted storage system hierarchy architecture
3) 為了對密碼資源進行統一配置管理,本文使用密鑰管理系統對密碼資源進行管理,并設計對應的密碼資源遠程在線加載協議,實現安全遠程配置密碼資源。
本文所設計的分布式加密存儲系統層次架構如圖1所示。圖中安全層功能的主要實現形式為存儲網關,不在本文的研究范圍內,本文主要在分布式存儲的存儲資源層進行研究,增加了可重構加密存儲服務,包括可重構密碼模塊和加密存儲池,為用戶提供數據高性能加密存儲和邏輯安全隔離服務,并在當前通用的密鑰管理系統上增加了算法配置管理功能,用于對可重構密碼模塊中的密碼資源進行統一安全配置和管理。
根據以上層次框架,本文提出分布式加密存儲系統架構如圖2所示。
其中,可重構密碼芯片部署在加密存儲服務器中,可以對加密算法進行快速、靈活地重構,滿足方案中需要靈活切換密碼算法的需求。它可以通過部署于應用層的管理代理服務與密鑰管理系統進行雙向認證,構建安全會話通路,并向密鑰管理系統發起請求進行密碼資源的更新配置,之后可以依據存儲池的劃分重構得到對應的密碼算法和加密密鑰對數據進行加解密操作。

圖2 分布式加密存儲系統架構
Figure 2 Distributed encrypted storage system architecture
管理代理服務軟件部署在加密存儲服務器的用戶層中,可以通過調用可重構密碼模塊,實現與密鑰管理系統間的雙向認證、密鑰協商、密碼資源下發配置及更新等功能。
密鑰管理系統支持對稱及非對稱密碼算法,對密碼資源進行安全存儲與統一管理,基于多級密鑰管理體系對密鑰的生成、激活、撤銷、輪換、銷毀、歸檔、恢復等全生命周期進行管理。在方案中,與管理代理服務建立安全會話通道后,系統為可重構密碼模塊使用的密碼資源進行統一配置管理,底層使用硬件安全模塊來確保密碼資源的保密性、完整性和可用性。
可重構密碼模塊的實現主要基于Device Mapper(Device Mapper是Linux系統內核中用來將塊設備映射到虛擬塊設備的架構)下的dm-crypt加密模塊,將設備映射模塊定義在Linux內核I/O體系結構中的通用塊層和I/O調度層之間,對于bio讀寫請求進行重定向處理。
在Linux數據讀寫架構中,內核層中的通用塊層起到承上啟下的作用,包含一系列與硬盤數據讀寫緊密相關的結構體,如請求(request)、請求隊列(request_queue)、硬盤(gendisk)等[19]。其中,bio為通用塊層的關鍵數據結構,它在Linux數據讀寫模型中承擔著實際文件數據的邏輯地址和物理地址的映射與傳輸作用,描述了讀寫操作中硬盤數據的定位(硬盤中起始扇區號和扇區數)。
在Device Mapper架構下,可以將實際的物理設備抽象為統一的邏輯設備后向系統內核提供服務[20],而在邏輯設備內部,則可根據需求構建原設備所不具有的功能,如磁盤陣列(raid)、加密(dm-crypt)、鏡像(mirror)、快照(snapshot)等[21]。其中,Device Mapper架構的加密功能通過虛擬出一個塊設備,對轉發的bio請求進行數據加密。因此,為實現較高性能的數據安全加密存儲,在減少對操作系統內核修改的設計背景下,通過對Device Mapper架構下的dm-crypt模塊進行設計,改變bio的傳輸流,即可實現主機、可重構密碼芯片與存儲硬盤三者之間數據的傳輸。
可重構密碼模塊設計如圖3所示,圖中密鑰管理系統主要對可重構密碼模塊中的密碼資源進行遠程配置管理。在常規塊設備讀寫體系下,bio請求到達通用塊層時,已經建立起底層存儲設備扇區與內存頁之間的映射關系,通用塊層根據bio中存儲設備信息尋找與之對應的請求隊列,并根據隊列信息傳遞bio請求。在通用塊層和I/O調度層間建立起加密模塊后,映射設備會作為虛擬塊設備取代實際物理塊設備來接收通用塊層傳來的bio,并將bio傳遞至映射設備虛擬塊設備的請求隊列,映射設備的虛擬塊設備會向內核申請必要的內存資源以完成讀寫操作。目標驅動負責具體的讀寫調度操作,當接收到映射設備轉發來的bio后,會確定實際目標設備扇區物理地址和bio讀寫信息,并根據讀寫請求調用驅動,將相應數據及地址信息轉發至可重構密碼芯片,可重構密碼芯片調用相應加密算法,選擇對應的加密密鑰分量,并與地址信息進行異或計算組合得到數據塊對應的加密密鑰,實現對數據的細粒度加解密操作。
相較于原Device Mapper架構,本文可重構密碼模塊設計主要在dm-crypt模塊下對bio的轉發流程進行了修改,在目標驅動中解析bio并將數據轉發至可重構密碼芯片進行加解密操作。可重構密碼模塊讀/寫請求處理流程如圖4所示,當目標驅動接收到映射設備轉發來的bio后,會根據bio結構體確定實際目標設備扇區物理地址和bio讀寫信息,并為bio的重定向與轉發操作申請對應的內存資源。目標驅動根據bio是否為讀/寫請求,調用可重構密碼芯片來對數據進行解密讀出或加密存儲操作。

圖3 可重構密碼模塊設計
Figure 3 Design of reconfigurable encryption module

圖4 可重構密碼模塊讀/寫請求處理流程
Figure 4 Reconfigurable encryption module read/write request processing
方案中設計的可重構密碼模塊主體在操作系統內核的塊設備層實現,通過使用Device Mapper架構,可以使此模塊較為便捷地應用到其他Linux系統中,具有較高的可移植性。與Linux內核中已存在的dm-crypt加密模塊相比,方案重新定義了加解密模塊的映射表,調用可重構密碼芯片實現更為高性能的數據加解密。
為實現對密碼資源(加密算法參數及密鑰等)的統一管理,滿足對密碼資源的更新配置操作,本文方案基于可重構密碼芯片的可動態配置特性,設計了密鑰管理系統與可重構密碼模塊間的算法資源遠程在線加載協議。密鑰管理系統安全保存對應可重構密碼芯片使用的算法資源數據(包括加密密鑰及算法配置參數等),密碼資源遠程在線加載流程如圖5所示,包括如下步驟。

圖5 密碼資源遠程在線加載流程
Figure 5 Remote online loading process of cryptographic resources
1) 存儲服務器啟動后,管理代理服務調用可重構密碼模塊與密鑰管理系統進行安全認證和密鑰協商,身份認證與密鑰協商過程遵循GM/T 0050—2016《密碼設備管理設備管理技術規范》,在密鑰協商完成后構建安全會話通道,通道傳輸的數據使用協商的會話密鑰keysess和對稱加密算法SM4進行保護。
2) 雙向認證成功并構建安全會話通路后,管理代理服務調用可重構密碼模塊對應API接口得到需要進行參數及密鑰配置的密碼算法標識alg,并通過安全會話通路向密鑰管理系統發送配置請求,請求分發對應的密碼資源。
3) 密鑰管理系統接收解析密碼算法標識alg,并從存儲庫中查詢是否存在對應算法標識alg的密碼資源信息,若存在,則與管理代理服務協商對密碼資源信息進行保護的一次性的分發保護密鑰keypro,協商分發保護密鑰過程與數據結構遵循GM/T 0051—2016《密碼設備管理對稱密鑰管理技術規范》。
4) 密鑰管理系統利用協商的分發保護密鑰keypro以及對稱加密算法SM4對密碼資源信息進行加密保護,得到密文后通過安全會話通道傳輸給管理代理服務。
5) 管理代理服務調用可重構密碼模塊,使用分發保護密鑰keypro以及對稱加密算法SM4解密密文得到密碼資源信息,將密碼資源信息安全配置到模塊內。
存儲池是分布式存儲系統和云平臺的主要構成部分,分布式存儲系統管理員可以為特定數據類型創建存儲池,或者使用存儲池將一組用戶與另一組用戶隔離。存儲池需要在系統進行實施時對節點數量、磁盤配比以及用戶角色劃分等進行良好的規劃,以更好地支撐業務發展。
在設計實現可重構密碼模塊后,每臺加密存儲服務器可在操作系統內核的塊設備層調用可重構密碼芯片對存儲數據進行加密保護,并且將對數據進行加密的加密密鑰與數據塊的塊地址相關聯,實現對數據的細粒度加密保護。然而,在當前分布式存儲系統中,服務需求差異較大、業務范圍復雜、用戶類型繁雜,具有對不同用戶、不同業務存儲數據進行安全隔離的需求,需要考慮將該加密模塊應用于以下場景。
1) 系統中用戶類型繁雜,分為多種安全等級,需要對不同等級的用戶存儲數據進行安全隔離。
2) 系統中業務范圍多,數據分為不同安全等級,需要將不同安全等級的數據進行隔離存儲。
為了對數據進行安全隔離,保障數據的安全性,本文依據所設計高性能可重構密碼模塊的算法可快速切換、動態重構特性,結合分布式存儲系統的存儲池設計一種存儲數據邏輯隔離方法。通過定義配用不同加密算法的可重構加密存儲池,對用戶或業務存儲數據時進行隔離約束,保證不同等級數據的安全隔離存儲。
為了將存儲服務器上的數據隔離應用至整個分布式存儲系統,為不同等級的用戶或業務提供服務,需要在分布式存儲系統中提出加密存儲池的概念,即分布式存儲系統為一組用戶分配的存儲區域,包括其自身存儲數據及所占有的存儲資源,多個用戶可以將數據存儲于同一個加密存儲池,但用戶只能對自身存儲區域進行訪問。
根據以上規則結合可重構密碼模塊進行加密存儲池設計,如圖6所示,本文并未深入研究存儲網關,后續可通過網關實現用戶身份認證和訪問控制等功能。將每臺加密存儲服務器的存儲空間進行劃分后,得到多個加密存儲分區,并規定存儲服務器中劃分的多個存儲分區使用不同的對稱加密算法和加密密鑰對存儲數據進行加密保護。在加密存儲分區劃分完成后,為在分布式存儲系統中對其進行統一管理,本文方案設計將多臺存儲服務器使用同一種加密算法的存儲分區進行劃分映射,規劃得到多個加密硬盤域,每個加密硬盤域由多個存儲分區組成,并且使用同一種加密算法對數據進行保護,這樣就能夠將不同硬盤域的故障、存儲資源進行隔離。最終基于加密硬盤域設計得到對應的加密存儲池,每個加密存儲池內部規定使用多副本方式或糾刪碼方式對數據進行保護,并為對應的一組用戶提供數據安全存儲服務,可以實現不同等級用戶的數據安全隔離。
本節對所設計的分布式加密存儲系統的安全性進行分析,系統的安全性應滿足標準GB/T 39786—2021《信息安全技術信息系統密碼應用基本要求》中提出的4個基本安全要求:機密性、完整性、真實性以及不可否認性。機密性指只有授權用戶可以獲取信息;完整性指信息在輸入和傳輸的過程中,不被非法授權修改和破壞,保證數據的一致性;真實性指保證合法用戶對信息和資源的使用不會被不正當地拒絕;不可否認性指通信雙方在信息交互過程中,確信參與者本身,以及參與者所提供信息的真實同一性,即所有參與者都不可能否認或抵賴本人的真實身份。

圖6 加密存儲池設計
Figure 6 Encrypted storage pool design
根據以上4個基本安全要求對所設計的分布式加密存儲系統進行分析。
1) 系統的機密性:系統中的用戶需要與加密存儲池進行綁定,通過訪問對應的加密存儲池來上傳或獲取對應的數據,此時只有授權的系統用戶才能訪問使用對應加密存儲池中的數據,保障系統中數據的機密性。
2) 系統的完整性:分布式存儲系統都會使用完整性保護措施來保證數據傳遞和存儲的完整性,且系統中所涉及密鑰及算法傳輸的信息都會使用對應密鑰進行加密保護,防止被攻擊者獲取或破壞,保障系統中數據和密碼資源的完整性。
3) 系統的真實性:一方面,用戶通過存儲網關才能獲得訪問存儲系統的權限;另一方面,只有加密存儲服務器通過與密鑰管理系統間的雙向認證,密鑰管理系統才能正常進行密碼模塊密碼資源的下發配置,進而為用戶提供密碼服務,保障系統的真實性。
4) 系統的不可否認性:本文主要集中在存儲服務器上的數據加密存儲研究,計劃下一步在系統中使用數字簽名和時間戳等技術來保證用戶與存儲系統間通信行為的不可抵賴性。
在對系統的整體安全性進行分析后,還需對系統中的密碼資源安全進行分析。在本文方案中,密鑰及算法參數的存儲基于三級密鑰保護體制,由密鑰管理系統的硬件安全模塊及可重構加密卡進行安全存儲。所設計的密碼資源遠程在線加載協議具體數據結構等規則遵循GM/T 0050—2016《密碼設備管理設備管理技術規范》以及GM/T 0051—2016《密碼設備管理對稱密鑰管理技術規范》,在將密鑰或算法參數通過網絡通道進行通信傳輸時需要先協商一次性的分發保護密鑰來對其進行安全保護,實現通信過程的機密性,保障密鑰及算法參數傳輸過程的安全性。
因此,本文方案在數據安全和密碼資源安全兩方面都提供了可靠的安全性保護。
為驗證可行性,本節將所設計方案應用于Ceph分布式存儲系統,并且基于實現的系統完成相關性能測試。系統架構如2.2節所述,每臺服務器配置好軟硬件后,需要對存儲空間進行劃分,每個分區使用不同的算法對數據進行加密。本文系統中將整體存儲空間劃分為使用SM4算法、AES算法以及TEA(tiny encryption algorithm)加解密的加密存儲池。
系統部署如圖7所示,測試環境中服務器型號為t1800-24s,CPU型號為Intel Pentium CPU D1508 @ 2.20 GHz,硬盤為HGST 960 G SSD, Ceph存儲系統的存儲節點為3臺物理機,并部署獨立的可重構密碼模塊(考慮到存儲加密容錯需求,可以每臺物理機部署多個密碼模塊進行冗余設計),物理機部署的操作系統為Linux系統,同時配置對應的密鑰管理系統。

圖7 系統部署
Figure 7 System deployment
使用fio工具以及vdbench工具[22]對應用本文方案實現的加密Ceph分布式存儲系統以及未應用本文方案的Ceph分布式存儲系統的性能進行測試,測試中選擇測試數據塊大小為4 kB到1 MB之間,測試其I/O時延以及讀寫性能。
測試I/O時延統計結果如圖8所示,加密系統的一次I/O任務被劃分為數據加密時延、數據I/O時延和其他3部分操作。

圖8 時延統計結果
Figure 8 Delay statistics result
根據前文設計以及測試結果分析,引入可重構密碼模塊后,增加的系統開銷主要來源為:數據轉發開銷、加解密開銷以及算法重構開銷等。其中,數據轉發開銷主要為在系統內核解析數據并將其轉發至可重構密碼芯片的時延開銷;加解密開銷則是密碼模塊的主要性能損耗因素;算法重構開銷是可重構密碼芯片一次動態切換加密算法導致的開銷,實際使用時可以忽略不計。
對系統的讀、寫性能測試結果如圖9與圖10所示,由測試結果可知,引入可重構密碼模塊后系統的讀寫性能有所下降,分布式存儲系統單個存儲節點的讀寫性能在原系統讀性能的90%左右。

圖9 讀性能測試結果
Figure 9 Read performance test result

圖10 寫性能測試結果
Figure 10 Write performance test result
為提升分布式存儲系統的安全性,完成對存儲數據的高性能加密保護和安全隔離,本文提出一種動態可重構加密存儲解決方案。方案基于bio映射框架,設計了具有較高可移植性和高性能的可重構密碼模塊,并在此基礎上構建多個配用不同密碼算法的存儲池,實現高性能硬盤數據加解密操作和存儲池密碼算法動態切換;本文還設計了具有密碼算法和密鑰遠程在線加載功能的密碼協議,滿足各存儲節點可重構密碼模塊統一管理與便捷安全更新需求,實現基于密碼重構技術的數據細粒度加密保護和邏輯安全隔離功能,并對每臺存儲服務器中嵌入高性能可重構密碼模塊的分布式存儲系統進行測試,加密后性能滿足預期需求。該方法可為分布式存儲系統達到GB/T 39786—2021《信息安全技術信息系統密碼應用基本要求》第三級及以上在設備和計算安全、應用和數據安全等方面提出的密碼應用技術要求提供技術途徑。
[1] LI Y. Intelligent cryptography approach for secure distributed big data storage in cloud computing[J]. Information Ences, 2016: 103-115.
[2] KAPUSTA K, MEMMI G. Enhancing data protection in a distributed storage environment using structure-wise fragmentation and dispersal of encrypted data[C]//IEEE International Conference on Big Data Science and Engineering; IEEE International Conference on Trust, Security and Privacy In Computing and Communications. 2017.
[3] 桑杰, 許雪姣, 劉碩, 等. 基于國密算法的分布式加密存儲研究[J]. 數據通信, 2020, (1): 4.
SANG J, XU X J, LIU S, et al. Research on distributed encrypted storage based on national security algorithm[J]. Data Communication, 2020, (1): 4.
[4] 楊錦江. 基于可重構計算的密碼處理器關鍵技術研究[D]. 南京: 東南大學, 2018.
YANG J J. Research on key technologies of reconfigurable cryptographic processors[D]. Nanjing: Southeast University, 2018.
[5] FT A, ASA B, AA C, et al. A new lightweight cryptographic algorithm for enhancing data security in cloud computing-sciencedirect[J]. Global Transitions Proceedings, 2021.
[6] SMITH A, RILEY J, SYED M, et al. Exploring untrusted distributed storage for high performance computing[C]//The Practice and Experience in Advanced Research Computing. 2019.
[7] ABDEL-KADER R F, EL-SHERIF S H, RIZK R Y. Efficient two-stage cryptography scheme for secure distributed data storage in cloud computing[J]. International Journal of Electrical and Computer Engineering, 2020(3).
[8] MARYAM K, SHAHZAD A, FARIA F, et al. Privacy-aware genetic algorithm based data security framework for distributed cloud storage[J]. Microprocessors and Microsystems,2022(94).
[9] 杜瑞忠, 王少泫, 田俊峰. 基于封閉環境加密的云存儲方案[J]. 通信學報, 2017, 38(7): 10.
DU R Z, WANG S X, TIAN J F. Cloud storage scheme based on closed-box encryption[J]. Journal on Communications, 2017, 38(7): 10.
[10] 袁航. 動態可重構密碼芯片關鍵技術研究[D]. 北京: 清華大學, 2019.
YUAN H. Research on key technologies of dynamic reconfigurable cryptographic chip[D]. Beijing: Tsinghua University, 2019.
[11] SAYILAR G, CHIOU D. Cryptoraptor: high throughput reconfigurable cryptographic processor[C]//IEEE/ACM International Conference on Computer-aided Design. 2014.
[12] BULENS P, STANDAERT F X, QUISQUATER J J, et al. Implementation of the AES-128 on Virtex-5 FPGAs[C]//DBLP. 2008.
[13] LI X, CAO C, LI P, et al. Energy-efficient hardware implementation of LUKS PBKDF2 with AES on FPGA[C]//Trustcom/Bigdat- ase/Ispa. 2017.
[14] SMEKAL D, HAJNY J, MARTINASEK Z. Comparative analysis of different implementations of encryption algorithms on FPGA network cards[C]//IFAC Conference on Programmable Devices and Embedded Systems. 2018.
[15] NISHIKAWA N, IWAI K, KUROKAWA T. High-performance symmetric block ciphers on multicore CPU and GPU[J]. International Journal of Networking & Computing, 2012, 2(2): 251-268.
[16] RAHIMUNNISA K, KARTHIGAIKUMAR P, CHRISTY N, et al. PSP: parallel sub-pipelined architecture for high throughput AES on FPGA and ASIC[J]. Central European Journal of Computer Science, 2013, 3(4):173-186.
[17] BOS J W, OSVIK D A, STEFAN D. Fast implementations of AES on various platforms[J]. IACR Cryptology Eprint Archive, 2009: 501.
[18] 王博. 高能效可重構密碼芯片架構及其抗物理攻擊技術研究[D]. 北京: 清華大學, 2018.
WANG B. Energy efficient architecture and physical attack countermeasures for reconfigurable cryptographic processors[D]. Beijing: Tsinghua University, 2018.
[19] 張包銓. 內核態時序數據存儲系統設計與實現[D]. 成都: 電子科技大學, 2022.
ZHANG B S. Design and implementation of time series data storage system in kernel space [D]. Chengdu: University of Electronic Science and Technology of China, 2022.
[20] 趙南雨, 陳莉君. 一種面向Hadoop中間數據存儲的混合存儲系統[J].信息技術, 2017(11): 161-166.
ZHAO N Y, CHEN L J. Hybrid storage system focus on Hadoop intermediate storing[J]. Information Technology, 2017(11): 161-166.
[21] 周山東, 宋新芳, 金波, 等. 基于TCM的全盤加密系統的研究與實現[J]. 計算機工程與設計, 2012, 33(9): 6.
ZHOU S D, SONG X F, JIN B, et al. Research and implementation of trusted full disk encryption system based on TCM[J]. Computer Engineering and Design, 2012, 33(9): 6.
[22] BERRYMAN A, CALYAM P, HONIGFORD M, et al. VDBench: a benchmarking toolkit for thin-client based virtual desktop environments[C]//IEEE Second International Conference on Cloud Computing Technology & Science. 2010.
High-performance reconfigurable encryption scheme for distributed storage
FENG Zhihua, ZHANG Yuxuan, LUO Chong, WANG Jianing
Beijing Institute of Computer Technology and Applications, Beijing 100854, China
As the world embraces the digital economy and enters an information society, data has emerged as a critical production factor. The collection, processing, and storage of data have become increasingly prevalent. Distributed storage systems, known for their efficiency, are widely used in various data fields. However, as the scale of data storage continues to expand, distributed storage faces more significant security risks, such as information leakage and data destruction. These challenges drive the need for innovative advancements in big data distributed storage security technology and foster the integration of domestic cryptographic technology with computing storage technology. This work focused on addressing security issues, particularly information leakage, in distributed storage nodes. A dynamic and reconfigurable encryption storage solution was proposed, which considered the requirements for encryption performance and flexibility.A high-performance reconfigurable cryptographic module was designed based on the bio mapping framework. Based on this module, multiple storage pools equipped with different cryptographic algorithms were constructed to facilitate high-performance encryption and decryption operations on hard disk data. The scheme also enabled dynamic switching of cryptographic algorithms within the storage pools. A cryptographic protocol with remote online loading functions for cryptographic algorithms and keys was developed to meet the unified management and convenient security update requirements of reconfigurable cryptographic modules in various storage nodes. Furthermore, the scheme implemented fine-grained data encryption protection and logical security isolation functions based on cryptographic reconstruction technology. Experimental results demonstrate that the performance loss of this scheme for encryption protection and security isolation of stored data is approximately 10%. It provides a technical approach for distributed storage systems to meet the cryptographic application technology requirements outlined in GB/T 39786-2021 “Information Security Technology-Basic Requirements for Cryptography Applications” Level 3 and above in terms of device and computing security, application and data security.
distributed storage encryption, reconfigurable encryption technology, block device encryption, algorithm online loading, logical safety isolation
The National Key R&D Program of China (2018YFB220030), Key R&D Program of Shandong Province, China(2022CXGC010108)
馮志華, 張宇軒, 羅重, 等. 面向分布式存儲的高性能可重構加密方案[J]. 網絡與信息安全學報, 2023, 9(5): 59-70.
TP309
A
10.11959/j.issn.2096?109x.2023072

馮志華(1979? ),男,湖北孝感人,博士,北京計算機技術及應用研究所研究員,主要研究方向為計算機及信息系統安全。
張宇軒(1998? ),男,河北石家莊人,北京計算機技術及應用研究所助理工程師,主要研究方向為計算機應用技術。

羅重(1994? ),男,湖北孝感人,北京計算機技術及應用研究所工程師,主要研究方向為計算機應用技術。
王佳寧(1980?),男,河北安平人,北京計算機技術及應用研究所高級工程師,主要研究方向為密碼管理理論、密碼應用理論、密碼工程。
2022?12?06;
2023?03?21
張宇軒,759464216@qq.com
國家重點研發計劃(2018YFB220030);山東省重點研發計劃(2022CXGC010108)
FENG Z H, ZHANG Y X, LUO C, et al. High-performance reconfigurable encryption scheme for distributed storage[J]. Chinese Journal of Network and Information Security, 2023, 9(5): 59-70.