基于多核处理器的安全固态硬盘实现技术*

2023-08-17 12:38张福健
通信技术 2023年5期
关键词:配置管理硬盘密钥

秦 放,张福健

(成都三零嘉微电子有限公司,四川 成都 610000)

0 引言

随着信息社会的飞速发展,全世界的数据存储总量在快速膨胀。数十年来,数据存储设备也实现了从磁带到软盘、机械硬盘(Hard Disk,HDD)再到固态硬盘(Solid State Disk,SSD)的发展。

固态硬盘摆脱了机械硬盘的磁头、盘片转轴及控制电机等机械部件,没有电机加速旋转的过程,内部不存在任何机械活动部件,不会发生机械故障,也不怕碰撞、冲击和震动。因此相对于HDD 而言,其在性能、可靠性、能耗、轻便性等方面有着绝对优势,目前广泛应用于军事、工控、电力、医疗、航空、导航设备、消费电子等领域。

随着新一代信息技术如人工智能、5G 网络、工业互联网、云计算、大数据、智能设备等行业的高速发展,人们对存储器的要求也在不断提高。国内固态硬盘相关技术产品要实现关键核心技术的突破,达到或赶超国外先进技术,需要尽快解决以下几个关键问题:高速模拟接口IP 技术的全面掌握,高性能纠错IP技术的全面掌握,闪存技术自主可控,高性能高安全固态存储模块的实现[1]。

国外的加密硬盘种类众多,但都采用国际算法AES[2]作为数据的加密算法。“十四五”规划出台后,自主可控将是国家科技发展的重要方向。研制支持国密算法的国产化安全硬盘符合国家战略,符合各行业国产化需求。本文提出并实现了一种将多核盘控处理器应用框架与国密算法[3-5]有机结合的安全存储技术实现途径,与主板BIOS 弱耦合,可扩展性强。

1 设计思路

1.1 控制器多核架构

安全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 算力和可重构算法功能,实现安全启动和全盘加密应用的技术路径。

1.2 基于Boot OS 的安全启动

磁盘加密存储技术基本上可分为文件系统加密、磁盘分区加密、全盘加密。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 切换流程

1.3 密钥及算法配用

安全SSD 中的密钥采用三层密钥体制,自上而下依次是:基于SM3 算法扩展的MK、基于SM2[4]算法的保护密钥对、基于SM4[3]算法的数据存储加密密钥。

安全SSD 中的密钥遵循以下安全性保护原则:

(1)所有密钥均由真随机数噪声源产生或衍生;

(2)任何时候、任何情况下,安全SSD 生成的加密存储密钥均不能以明文形式出现在硬件设备外部,只能以密文形式存储于GV48 主控芯片的片内NorFlash 中;

(3)保护密钥及密钥对支持定期更换,所有密钥支持备份及恢复;

(4)安全SSD保证密钥生成、配置、存储、备份、恢复及销毁整个生命周期的安全。

安全SSD 中密码算法配用情况如表1 所示。

表1 密码算法配用

安全SSD 中各层级密钥配用情况如表2 所示。

表2 各层级密钥配用

1.4 安全SSD 工作状态描述

安全SSD 按照其密码资源特征而设定了6 种状态,分别是初始态、出厂态、管控态、就绪态、用户工作态和销毁态。

(1)初始态:安全SSD 的硬件完成状态,无任何软件。

(2)出厂态:厂家完成了Boot OS 及配置管理工具的安装,完成了安全固件烧写并初始化设定默认管理员和默认口令。

(3)管控态:当管理员成功登录之后的状态。

(4)就绪态:安装操作系统及磁盘分区后,能够支持管理员和用户登录前的状态,就绪态时磁盘中的所有数据均为全密状态。

(5)用户工作态:用户成功登录后达到的状态。

(6)销毁态:在管理员登录后,触发硬件销毁,销毁所有密码资源、系统数据和用户数据后达到的状态。

以上描述的安全SSD 密码资源状态转换跳转过程如图6 所示。

图6 安全SSD 状态转换过程

图6 中所示各步骤的解释如下:

(1)初始化管理员;

(2)管理员配置管控;

(3)恢复出厂态;

(4)管理员退出登录;

(5)管理员登录;

(6)用户登录;

(7)用户退出登录;

(8)紧急硬件销毁。

1.5 配置管理工具

安全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 多用户配置后资源

当管理员完成配置后,就可以切换为用户模式或退出重启。这时,私有用户各自的密文分区仅在私有用户成功登录后可见,并且私有用户分区中所有数据在静态存储状态下为受保护的密文,达到了区分用户的安全存储功能。

1.6 基于流控反向的调用式密码服务功能

安全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。

1.7 数据销毁

安全SSD 提供了多种数据销毁方式,包括触敏销毁、软件销毁和硬件销毁,全面防护用户数据,避免泄露风险,如表3 所示。

表3 3 种销毁方式

(1)触敏销毁:安全SSD 内部监控用户的读写操作,如果针对某个文件或者地址的访问被触发,则自动触发销毁。

(2)软件销毁:用户在获得权限后,通过命令字触发销毁。

(3)硬件销毁:通过触发控制器外接的销毁引脚触发销毁。

销毁完成后,安全SSD 处于锁定状态,不能接收主机命令,需要断电重启后用户才能使用。若在销毁过程中突然断电,销毁过程会在下次上电时继续。数据销毁完成后,所有数据返回值都将成为默认的0xFF。硬件销毁是用来应对突发情况下的紧急销毁,销毁引脚内置上拉电压3.3 V,默认高电平。销毁引脚被拉低到电压0V 持续3 s,数据销毁即被触发,安全SSD 内部开始进行销毁,此时触发引脚上的电压变化不会影响销毁过程。图15、图16 所示为硬件销毁实物示意图。

图15 硬件销毁引脚

图16 硬件销毁实物

2 关键技术及创新点

固态硬盘是信息安全的关键部件,大量的用户数据存储其中,虽然其拥有者会在系统层面采取一些必要的安全访问控制策略,但如果存储在固态硬盘中的数据为明文,那么访问控制机制很容易在系统层面被绕开,并且在数据共享流转时传统的固态硬盘很难有明确的安全边界。文中的安全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 启动后立即加载配置管理工具。配置管理工具具有分区管理、用户配置和用户登录功能,用户配置功能在管理员登录后使能,可以对分区进行管理,也可以对普通用户进行增加和删除操作,在增加用户时需配置用户权限,指定用户可访问的硬盘空间。用户登录功能支持合法用户登录,获取其相应的空间使用权限,简单易用。

3 结语

计算机技术飞速发展,除了CPU 的性能和集成度不断提高,与之密切相关的存储器也得到了快速发展。国内各大整机厂商的存储和服务器产品也都装备了企业级的SATA、SAS 和PCIE 的SSD,仅华为一家,目前SSD 的年出货量已达100 万片以上。可以说,有信息的地方就有计算机,有计算机的地方就会出现固态硬盘。本文提出的安全固态硬盘实现技术,通过硬件级密码技术配合安全固件、配置管理工具等配套软件,能够实现对固态硬盘核心数据的机密性和完整性进行保护,实现满足GM/T 0028 规范的密钥管理体系[10-11],可以防止普通固态硬盘存在的明文存储引起的数据泄露、突破边界防护的外部黑客攻击以及来自内部越权用户的数据窃取,从而在根本上解决敏感数据泄露带来的业务风险问题,具有很好的实用价值和商业前景。

猜你喜欢
配置管理硬盘密钥
汽车委托外加工零件自动化配置管理
密码系统中密钥的状态与保护*
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
我区电视台对硬盘播出系统的应用
建设CMDB任重道远
配置管理在软件测试中的应用
基于PLM 的IRIS 配置管理的实施和应用