秦 放,張福健
(成都三零嘉微電子有限公司,四川 成都 610000)
隨著信息社會的飛速發展,全世界的數據存儲總量在快速膨脹。數十年來,數據存儲設備也實現了從磁帶到軟盤、機械硬盤(Hard Disk,HDD)再到固態硬盤(Solid State Disk,SSD)的發展。
固態硬盤擺脫了機械硬盤的磁頭、盤片轉軸及控制電機等機械部件,沒有電機加速旋轉的過程,內部不存在任何機械活動部件,不會發生機械故障,也不怕碰撞、沖擊和震動。因此相對于HDD 而言,其在性能、可靠性、能耗、輕便性等方面有著絕對優勢,目前廣泛應用于軍事、工控、電力、醫療、航空、導航設備、消費電子等領域。
隨著新一代信息技術如人工智能、5G 網絡、工業互聯網、云計算、大數據、智能設備等行業的高速發展,人們對存儲器的要求也在不斷提高。國內固態硬盤相關技術產品要實現關鍵核心技術的突破,達到或趕超國外先進技術,需要盡快解決以下幾個關鍵問題:高速模擬接口IP 技術的全面掌握,高性能糾錯IP技術的全面掌握,閃存技術自主可控,高性能高安全固態存儲模塊的實現[1]。
國外的加密硬盤種類眾多,但都采用國際算法AES[2]作為數據的加密算法。“十四五”規劃出臺后,自主可控將是國家科技發展的重要方向。研制支持國密算法的國產化安全硬盤符合國家戰略,符合各行業國產化需求。本文提出并實現了一種將多核盤控處理器應用框架與國密算法[3-5]有機結合的安全存儲技術實現途徑,與主板BIOS 弱耦合,可擴展性強。
安全SSD 基于自主的GV48 控制器設計,在SSD 內部用4 個高性能的CPU 分別實現了前端高速主機接口功能(SATA CPU)、后端閃存管控功能(NFC CPU)、盤級健康管控功能(Monitor CPU)、安全控制功能(Sec CPU)。
前端主機接口控制CPU 實現了SATA 接口,支持NVMe1.3a 標準,完整兼容SATA 3.2 規范,基于ATA8-ACS3 標準的ATA SMART 自定義接口具有良好的指令擴展性和功能擴展性[6]。
后端閃存管控CPU管理了8個高性能NANDFlash通道,內置了高級別糾錯ECC 算法,支持MLC 系列閃存顆粒,適配了長江存儲國產顆粒。
盤級健康管控CPU 控制多種傳感器實時對SSD內部電壓、電流和溫度進行監控,配合盤內集成的UPS 備用電源,保證在異常掉電、高低溫或其他惡劣條件下的數據完整性。
GV48 控制器還具有一顆專注于安全加密存儲功能的SecCPU,內置可重構加密算法引擎,提供了一定數量的可復用GPIO,可實現認證外設的擴展功能,能夠滿足自主可控的安全存儲方案實現的需求。控制器架構圖如圖1 所示。

圖1 多核控制器架構
本文主要論述基于GV48 控制器的SecCPU 算力和可重構算法功能,實現安全啟動和全盤加密應用的技術路徑。
磁盤加密存儲技術基本上可分為文件系統加密、磁盤分區加密、全盤加密。SSD 作為整機設備中的重要部件,存儲了大量用戶的敏感數據。由于采取對文件系統和磁盤部分分區進行加密的策略仍然存在操作系統層面的數據訪問安全隱患的問題,因此只有全盤加密策略是安全性最高的。
在全盤加密的情況下,為了在進入用戶操作系統(User OS)之前就完成合法用戶的身份認證進而解密系統,同時又要實現與BIOS 的弱耦合,需要在SSD 中植入一個精簡的前置啟動系統(Boot OS)。Boot OS 對于用戶來說是不可見的,它放置在一個隱藏的分區,這個分區可以通過ATA 標準的HPA[6]功能來實現,如圖2 所示。

圖2 基于HPA 功能的數據隱藏
配合ATA HPA 功能及ATA HPA AOM(Address Offset Reserved Area Boot Method),再加上擴展的自定義私有命令集框架,就能在SSD 內部部署雙系統,即通過BIOS 引導的隱藏Boot OS 和用戶可見的User OS。雙系統之間實現物理隔離,整機上電后BIOS 完成初始化并引導Boot OS,在Boot OS 階段進行用戶認證和配置管理操作,解密User OS 所在磁盤分區后,切換HPA 工作模式二次引導進入User OS。該過程的引導流程圖如圖3 所示。

圖3 安全SSD 引導流程
用戶若重新分區則會更新主引導記錄(Master Boot Record,MBR),但前置系統Boot OS 的MBR用戶是不可更新的,用戶僅能更新用戶系統User OS 的MBR。首次安裝操作系統時會將該操作系統的MBR(該系統所在分區首地址)覆蓋寫入磁盤MBR(硬盤首地址)[7];其次在后續安裝多個操作系統時更新MBR 為可選項,可根據用戶需求選擇。MBR 結構和安全SSD 的MBR 切換流程如圖4、圖5 所示。

圖4 MBR 結構

圖5 安全SSD 的MBR 切換流程
安全SSD 中的密鑰采用三層密鑰體制,自上而下依次是:基于SM3 算法擴展的MK、基于SM2[4]算法的保護密鑰對、基于SM4[3]算法的數據存儲加密密鑰。
安全SSD 中的密鑰遵循以下安全性保護原則:
(1)所有密鑰均由真隨機數噪聲源產生或衍生;
(2)任何時候、任何情況下,安全SSD 生成的加密存儲密鑰均不能以明文形式出現在硬件設備外部,只能以密文形式存儲于GV48 主控芯片的片內NorFlash 中;
(3)保護密鑰及密鑰對支持定期更換,所有密鑰支持備份及恢復;
(4)安全SSD保證密鑰生成、配置、存儲、備份、恢復及銷毀整個生命周期的安全。
安全SSD 中密碼算法配用情況如表1 所示。

表1 密碼算法配用
安全SSD 中各層級密鑰配用情況如表2 所示。

表2 各層級密鑰配用
安全SSD 按照其密碼資源特征而設定了6 種狀態,分別是初始態、出廠態、管控態、就緒態、用戶工作態和銷毀態。
(1)初始態:安全SSD 的硬件完成狀態,無任何軟件。
(2)出廠態:廠家完成了Boot OS 及配置管理工具的安裝,完成了安全固件燒寫并初始化設定默認管理員和默認口令。
(3)管控態:當管理員成功登錄之后的狀態。
(4)就緒態:安裝操作系統及磁盤分區后,能夠支持管理員和用戶登錄前的狀態,就緒態時磁盤中的所有數據均為全密狀態。
(5)用戶工作態:用戶成功登錄后達到的狀態。
(6)銷毀態:在管理員登錄后,觸發硬件銷毀,銷毀所有密碼資源、系統數據和用戶數據后達到的狀態。
以上描述的安全SSD 密碼資源狀態轉換跳轉過程如圖6 所示。

圖6 安全SSD 狀態轉換過程
圖6 中所示各步驟的解釋如下:
(1)初始化管理員;
(2)管理員配置管控;
(3)恢復出廠態;
(4)管理員退出登錄;
(5)管理員登錄;
(6)用戶登錄;
(7)用戶退出登錄;
(8)緊急硬件銷毀。
安全SSD 中的配置管理工具有兩個版本,一個版本支持在Boot OS 中運行,稱為Boot OS 版配置管理工具;另一個版本支持在用戶系統中運行,稱為User OS 版配置管理工具。
Boot OS 版配置管理工具具有分區配置、用戶配置和登錄三個主要功能。分區配置和用戶配置功能在管理員登錄后使能,可對硬盤進行分區管理,也可對普通用戶進行增加和刪除的操作,在增加用戶時需配置用戶權限,指定用戶可訪問的硬盤空間。用戶登錄功能支持合法用戶登錄,獲取其相應的空間使用權限[7]。
User OS版配置管理工具僅具有用戶登錄功能,支持用戶登錄登出等操作。用戶成功進入User OS后可正常訪問自己權限內的磁盤空間。
下面對涉及安全管控核心的Boot OS 下管理員配置管理工具的工作流程進行說明。
首先,整機上電后經過GRUB 引導,安全SSD進入Boot OS,如圖7、圖8 所示。

圖7 上電后GRUB 引導

圖8 Boot OS Kernel 加載
Boot OS 啟動后自動加載文件系統中的安全配置管理工具,進入用戶登錄界面,如圖9 所示。

圖9 用戶登錄界面
以管理員身份登錄成功后,可按具體需求查看、管理和配置用戶資源,如圖10 所示。

圖10 出廠默認配置
進行系統分區設置,如圖11 所示。

圖11 配置用戶系統分區
接下來依次配置公共用戶明文分區和私有用戶密文分區,如圖12、圖13、圖14 所示。

圖12 配置公共用戶明文分區

圖13 配置私有用戶密文分區

圖14 多用戶配置后資源
當管理員完成配置后,就可以切換為用戶模式或退出重啟。這時,私有用戶各自的密文分區僅在私有用戶成功登錄后可見,并且私有用戶分區中所有數據在靜態存儲狀態下為受保護的密文,達到了區分用戶的安全存儲功能。
安全SSD 為了滿足高性能安全存儲的讀寫要求,SecCPU 加解密功能綁定了SATA 接口數據的流向,即私有用戶數據寫入安全SSD 時,數據流將直接DMA 到SecCPU 的加密引擎流控[8],實現快速加密存儲;當私有用戶從安全SSD 讀取數據時,密文數據經過SecCPU 的解密引擎流控脫密后,DMA給SATA 接口,實現快速讀取。
作為安全SSD 的擴展功能,在流控數據中增加了滿足GM/T 0018《密碼設備應用接口規范》[9]的協議解析分支,當滿足該協議分支的調用式接口函數命令進入流控后,會觸發SecCPU 的內部中斷,使SecCPU 對數據幀進行協處理,完成對應的加解密、簽名驗簽操作后,再打包返回給應用層。因此,安全固態硬盤實現了為應用層的各種業務提供符合國家標準的密鑰管理、數字簽名/驗簽、數據加密/解密和數據完整性驗證的服務,在實現用戶數據安全存儲的同時,解決了終端信息設備對輕量級總線密碼模塊調用式需求的問題。
安全SSD 支持的接口功能如下:
(1)基于密鑰分層保護的本地密鑰管理;
(2)用戶身份鑒別;
(3)真隨機數采集;
(4)基于SM4 算法的數據加密/解密;
(5)基于SM2 算法的數字簽名/驗證;
(6)消息鑒別碼的產生與驗證。
安全SSD 調用式接口的性能指標如下:
(1)SM2 簽名不低于50 TPS,驗簽不低于30 TPS;
(2)SM3 摘要計算不低于30 Mbit/s;
(3)SM4 加解密性能不低于30 Mbit/s。
安全SSD 提供了多種數據銷毀方式,包括觸敏銷毀、軟件銷毀和硬件銷毀,全面防護用戶數據,避免泄露風險,如表3 所示。

表3 3 種銷毀方式
(1)觸敏銷毀:安全SSD 內部監控用戶的讀寫操作,如果針對某個文件或者地址的訪問被觸發,則自動觸發銷毀。
(2)軟件銷毀:用戶在獲得權限后,通過命令字觸發銷毀。
(3)硬件銷毀:通過觸發控制器外接的銷毀引腳觸發銷毀。
銷毀完成后,安全SSD 處于鎖定狀態,不能接收主機命令,需要斷電重啟后用戶才能使用。若在銷毀過程中突然斷電,銷毀過程會在下次上電時繼續。數據銷毀完成后,所有數據返回值都將成為默認的0xFF。硬件銷毀是用來應對突發情況下的緊急銷毀,銷毀引腳內置上拉電壓3.3 V,默認高電平。銷毀引腳被拉低到電壓0V 持續3 s,數據銷毀即被觸發,安全SSD 內部開始進行銷毀,此時觸發引腳上的電壓變化不會影響銷毀過程。圖15、圖16 所示為硬件銷毀實物示意圖。

圖15 硬件銷毀引腳

圖16 硬件銷毀實物
固態硬盤是信息安全的關鍵部件,大量的用戶數據存儲其中,雖然其擁有者會在系統層面采取一些必要的安全訪問控制策略,但如果存儲在固態硬盤中的數據為明文,那么訪問控制機制很容易在系統層面被繞開,并且在數據共享流轉時傳統的固態硬盤很難有明確的安全邊界。文中的安全SSD 實現技術,在國產化自主可控的基礎上,采用軟硬件一體化設計思路,具有諸多創新點。
(1)全國產化設計,自主可控。
GV48 芯片是一款自研的全國產化多核存儲控制器芯片,它很好地適配了長江存儲的MLC/TLC國產存儲顆粒。片內集成了SM2/3/4 算法引擎,為加密存儲提供了國密算法內生硬件級支持。該安全SSD 已經在龍芯3A4000 平臺上適配使用。從主控芯片、存儲顆粒、密碼算法、適配平臺等層面均實現了全國產化設計,完全自主可控。
(2)基于ATA 標準的HPA 功能實現與整機BIOS 弱耦合的隱藏Boot OS 技術路線。
ATA HPA 功能可以在安全SSD 上劃分出隱藏空間和用戶空間,并在兩個空間分別部署系統(Boot OS 和User OS)。安全SSD 在出廠時會預裝Boot OS,BIOS 指定通過隱藏空間的Boot OS 啟動,并且只能在Boot OS 下等到安全認證授權后才能讓HPA切換到User OS 工作模式。整個過程隱藏了自定義的Boot OS 系統,同時也極大地減少了安全功能對主板廠家BIOS 的依賴。在龍芯3A4000 平臺上,對PMON和昆侖固件均實現了Boot OS 部署和快速適配。
(3)實現了硬件級全盤加密策略。
利用GV48 芯片的可重構算法核分別例化出SM2、SM3 和SM4 算法引擎,以SecCPU 作為安全SSD 的主控管理單元,進行用戶鑒權認證、用戶密鑰配置管理、磁盤分區管理、數據銷毀等操作。可以實現對用戶系統分區、用戶密文分區的全盤加密策略,能很好地保護本地數據的安全。
(4)創新性地采用了流控轉向技術,使安全SSD 具備了密碼模塊服務功能。
利用SecCPU 對存儲數據流控的配置能力,參考GM/T 0018、GM/T 0028、GM/T 0039 等規范,實現了滿足國密安全等級二級要求的硬件密碼模塊功能,使安全SSD 還能夠為用戶提供調用式密碼服務。該密碼模塊功能是通過增加定制化流控協議實現的,是作為安全存儲類接口以外的擴展,能為User OS 中的安全應用提供密碼服務能力支撐,與現有的安全存儲功能共存,豐富了安全SSD 的功能。
(5)功能完善的配置管理工具。
Boot OS 啟動后立即加載配置管理工具。配置管理工具具有分區管理、用戶配置和用戶登錄功能,用戶配置功能在管理員登錄后使能,可以對分區進行管理,也可以對普通用戶進行增加和刪除操作,在增加用戶時需配置用戶權限,指定用戶可訪問的硬盤空間。用戶登錄功能支持合法用戶登錄,獲取其相應的空間使用權限,簡單易用。
計算機技術飛速發展,除了CPU 的性能和集成度不斷提高,與之密切相關的存儲器也得到了快速發展。國內各大整機廠商的存儲和服務器產品也都裝備了企業級的SATA、SAS 和PCIE 的SSD,僅華為一家,目前SSD 的年出貨量已達100 萬片以上。可以說,有信息的地方就有計算機,有計算機的地方就會出現固態硬盤。本文提出的安全固態硬盤實現技術,通過硬件級密碼技術配合安全固件、配置管理工具等配套軟件,能夠實現對固態硬盤核心數據的機密性和完整性進行保護,實現滿足GM/T 0028 規范的密鑰管理體系[10-11],可以防止普通固態硬盤存在的明文存儲引起的數據泄露、突破邊界防護的外部黑客攻擊以及來自內部越權用戶的數據竊取,從而在根本上解決敏感數據泄露帶來的業務風險問題,具有很好的實用價值和商業前景。