1、网络安全融合MAC-Lite私有协议的国产化嵌入式高速网络安全加密子系统研究*张锋孙慧洋朱振荣公安部第一研究所摘要:数据加解密性能是密码设备的一个重要工程指标。为提升嵌入式网络安全加密设备的密码运算速率,基于以太网接口设计了一种MAC-Lite数据传输私有协议,并基于国产芯片形成了高速网络安全加密子系统。MAC-Lite在通过软件层面的协议改造、数据报文处理流程优化、数据有效性完整性保护、命令报文并发处理等技术策略,结合硬件层面的专用硬件加速引擎设计与应用,有效提升了板载主控芯片与安全芯片间的密码处理速率。该高速网络安全加密子系统增强了网络安全加密设备的性能,有效支撑了公共安全行业的实战应用。
2、关键词:国产化MAC-Litee通信安全嵌人式系统高速加解密MAC-Lite私有协议的设计使用方面体现了一系列创新性的引言工作:第一,协议结构的设计有效规避了传统网络协议栈的随着网络通信技术不断发展,如何有效保障网络通信复杂处理;第二,数据完整性有序性保护机制保证了中数据的传输安全成为系统应用的关键问题。“十四MAC数据的有序和完整;第三,命令报文的并发处理能五”国家信息化规划也明确提出要加强网络安全建设。在力可使加/解密数据处理更加高效;第四,专用硬件加速引这种背景下,各种嵌入式网络安全设备不断投入公共安全行擎的设计将MAC口数据传输与国产商用密码算法模块的处业应用,为各种关键系统的网络通信
3、提供安全保障。然而,理相贯通,有效提升了对称密码算法的处理速率。上述工作如何在保障网络传输数据安全的前提下,尽量降低安全加密突破了嵌入式网络安全设备板载芯片间的数据传输瓶颈,在处理过程对原有数据传输性能的影响,做到安全且高速的数推进国产化产品替代的同时,有效提高了设备高速加/解密据传输,在高清视频回传、宽带多媒体通信等大数据量网络问题,并在公共安全行业得到了良好的实战应用。通信业务中显得尤为重要。同时,随着近年来国际贸易冲突一、系统国产化设计和技术封锁愈演愈烈,加快推进国产自主可控替代,提升关键技术自主创新,成为我国信息技术行业的迫切需要。在公共安全行业,网络数据信息安全需要国产商用密码的支撑
4、。目前,受成本、设计需求等因素限制,承载国产商用密码算法的安全芯片多采用Cortex-M级别的CPU,处理能力有限。在这种情况下,嵌入式网络安全设备在硬件上多采用嵌入式安全模块(eSE)的方式,即在设备主板上贴装安全芯片,将其作为主处理芯片的安全协处理器使用。在这种情况下,主处理芯片与安全芯片间的接口数据传输成为制约整个嵌入式安全加密系统性能的瓶颈。当在大数据量高速加/解密的数据应用时,板载芯片间的数据传输速率对系统加/解密性能的影响将更加突出。针对上述问题,本文提出了一种国产化的嵌入式高速网络安全加密子系统。该系统采用软/硬件国产化设计,并从板载芯片间的通信接口及数据传输机制入手,采用以太网
5、接口作为芯片间高速接口,并创新性的设计使用了MAC-Lite私有协议,实现了高速数据传输和密码处理。本文在*基金项目:公安部第一研究所科研项目(编号:B22103)(一)硬件架构本文提出的嵌入式安全加密子系统在硬件上采用双芯片架构,包括主处理芯片和安全芯片。主处理芯片采用国产自主可控的通用处理芯片,主要用来承载上层应用,并调用安全芯片来完成安全功能支撑。安全芯片作为安全协处理器使用,同时也是安全功能的核心,采用我国自主可控的32位CK-CoreCPU,芯片内置国产商用密码算法硬核。另外,安全芯片内部配合MAC-Lite协议设计使用了专用的硬件加速引擎。另外,该嵌入式安全加密子系统采用了适用于大
6、数据量传输的以太网接口来连接主处理芯片和安全芯片。具体的硬件架构如图1所示。以太网MAC接口MAC专用硬件 国密算法主处理芯片控制器图1系统硬件架构图(二)软件设计在系统软件设计过程中,基于板载芯片间互联的以太控制器加速引擎硬核安全芯片PoliceTechnology2023年第4期55网络安全网接口,设计了MAC-Lite高速传输协议,将网络数据顿针对密码运算功能进行了针对性改造。本系统软件中,主处理芯片采用了开源的嵌入式Linux操作系统,并根据MAC-Lite的设计对MAC口的驱动进行了定制改造。安全芯片的片上操作系统(COS)采用了前/后台的设计框架,实现了全国产自主研发。其中,应用层
7、程序是一个无限的循环,循环中调用应用功能处理函数完成相应的操作,这是后台操作;中断服务程序处理异步事件,这是前台操作。该系统采用分层设计、模块化部署的思想,既便于开发与实现,又有效降低了各功能模块间的耦合性,便于在不同硬件平台间进行移植。安全芯片的软件在驱动层根据MAC-Lite私有协议创新性的完成了MAC-Lite驱动的实现。安全芯片里的嵌入式软件设计架构如图2 所示。应用层系统层驱动层功耗管理时钟管理中断管理存储管理MAC-Lite驱动加速引擎退动硬件层PowMTimer图2 安全芯片系统软件架构图二、MAC-Lite高速数据传输(一)MAC-Lite数据报文处理流程优化该协议基于以太网接
8、口,通过以太网MAC帧实现主处理芯片与安全芯片之间的数据通信。安全芯片作为密码协处理模块接收主处理芯片发送的命令和数据,然后对数据进行SM1、SM 2、SM 3、SM 4密码运算并将处理后的结果以响应帧的形式返回给主处理芯片。目的地址源地址类型前序头以太网MAC图3通用以太网数据顿结构图以太网MAC数据帧如图3所示,包括目的地址、源地址、类型、数据体、帧校验五部分,其中类型字段标识了数据将交付哪种协议处理。通用的以太网MAC数据帧将通过特定的类型字段值将数据交付TCP/IP协议处理,数据体部分承载的是IP数据报文。但是,在板载芯片间通信场景下,复杂的TCP/IP交互和处理将会给命令数据的处理速
9、率造成瓶颈。为解决上述问题,本文设计了一种MAC-Lite私有协议,通过Raw socket自定义以太网MAC顿结构的类型字段值,使数据绕过复杂的TCP/IP协议栈,直接传输给安全芯片片上操作系统(COS)的上层应用接口进行数据解析和密码运算。改造通用以太网数据顿后形成的MAC-Lite数据结构如图4所示。目的地址源地址前序头以太网MAC恢图4安全芯片系统软件架构图另外,根据嵌入式安全加密子系统的功能特点,MAC-Lite私有协议将报文划分为证书类、密码类、控制类三类报文,在安全芯片COS中分发到不同的系统任务去处理,提高命令处理效率。(二)数据帧完整性有序性保护机制主控芯片与安全芯片通信的过
10、程中需要保证数据包传输的有序和完整,但仅靠数据链路层的以太网MAC数据帧无法保证数据传输过程中的丢包和乱序到达问题。因此,MAC-Lite私有协议在常规的以太网MAC帧结构的基础上针业务应用的安全方案实现对MAC帧的数据体部分进行了私有定义,如图5所示。其前/后台系统框架中,详细定义了顿序列号(FmNO)、数据顿长度(FLe n)、命令报文类型(CmdCLS)、有效载荷VICSRAMeFbshIP数据报文数据MAC-ute数据报文数据体MAC国密模块网络层恢校验数据链路层物理层安全芯片cOS命令分发处理网络层快校验数据链路层物理层(Fr m D a t a)等关键信息字段,并基于上述关键字段,
11、MAC-Lite私有协议设计使用了一种数据包传输机制,以保证芯片间数据包传输的有序和完整。恢序列号(FrmNO)顿长度((Flen)报文类型(CmdCLS)目的地址源地址类型前序头以太网MAC顿图5MAC-Lite数据帧结构图该数据完整性有序性保护机制由主控芯片和安全芯片配合实现,具体流程如图6 所示。主控芯片端按序列号顺序发送命令报文,同时在内存中建立FIFO用以缓存发送的内容,并对进入FIFO中的数据报文启动超时计时。安全芯片依次接收命令报文并解析,待处理完成后将响应报文发送给主控芯片。主控芯片会依次接收响应报文,若主控芯片正确接收到对应的响应报文时,则从FIFO中删除对应的命令数据报文。
12、若主控芯片在发出命令报文后超时未接收到对应的响应报文,则需将FIFO中缓存的全部数据包进行重传。加密芯片端将对接收到的命令报文序列号进行检查。此处设计使用了有效数据帧窗口策略,即以按号顺序应该接收到的数据号为基点,设置一个临近的数据顿号范围窗口,若收到的命令报文帧序列号不在窗口范围内则丢弃该数据包不做处理,从而保障了数据报文的有序性。另外,对于有效载荷较长的命令报文,若数据量超出MAC帧数据体最大长度,主控端则需将命令报文分片,拆分为多个数据包依次发送,安全芯片端必须待依次接收完所有分片以后再有效载荷(FrmData)数据体校验数据链路层物理层56警察技术2 0 2 3年第4期处理。安全芯片在
13、回传响应报文时,若数据长度超出MAC顿限制,则同样采取数据包分片机制进行处理。主控芯片端MAC-Lite开始传输第N顺数据在FIFO中缓存第N恢井开始超时计时文N是否需要分片?分片发送第N顺命令报文单恢发送第N顺俞令报文将FIFO中的命令报文从第N顿开始重传图6 数据顿完整性有序性保护机制工作流程图在上述过程中,超时重传机制和数据包分片机制保证了数据顿的完整性,同时单包分片机制和有效数据帧窗口策略保证了数据帧收发和处理的有序性。(三)命令报文并发处理安全加密子系统的命令处理在主控芯片和安全芯片间的数据报文以“命令-响应”的方式进行。以太网接口的全双工和高频传输特性使其能够在数据传输上更加高效,
14、接口线上可同时处理命令的下发和响应的上传。在数据顿有效性和完整性保护机制的保障下,以太网接口可全面发挥其全双工特性,Mac-Lite私有协议可实现主控芯片与加密芯片间命令报文的并发处理。主控芯片无需串行等待收到上一帧数据的响应后再发出下一顿命令报文,有效提升了安全芯片的有效处理时间。命令报文并发处理的流程如图7 所示。开始命令发送接口下发下发命令报文1下发命令报文2下发命令报文3接口上传上传编应上传响应上传询应报文1授文之处理处理安全芯片分片数据1分片数据2分片数据3图7 命令报文并发处理流程图(四)专用硬件加速引擎安全芯片内部的密码算法运算速率是影响安全加密子系统整体性能的关键因素。为提高安
15、全芯片内部处理速率,传统的做法有两点:首先,利用硬件门电路翻转比软件指令运行速率高的特点,在芯片内部集成密码算法硬核,取代在芯片内部用软件代码实现密码运算的方法;另外,提高芯片主频,提升芯片处理速率,但提升主频是以提高芯片功耗为安全芯片端代价的,尤其对于功耗敏感的嵌入式设备更加不适用。本文提出的安全加密子系统,采用了自主定制化的国产安全加密芯片,在集成国产商用密码算法硬核IP的基础上,为配合以太网口MAC-Lite数据传输及密码处理,在芯片内部使用了SM1和SM4模块专用的硬件加速引擎模块。该模块以专用DMA的机制运行,通过在硬件上与SM1/SM4模块的接收命令报文流程结合设计,可以自动完成对
16、SM1/SM4模块的状态控制和输入慎序列号是否正确?丢弃数据帧处理第N频命令报文超时前是否接收到第1贞响应报文?缓存并解析响应报文在发送缓存FIFO中清除第N顿命令报文MAC-Lite结洁束传输第N顿数据输出数据搬运,免去了软件循环查询与赋值的时间损耗。在CPU配置完成后,专用DMA的工作流程如图8 所示。作为回送第N顿响应报文MAC-Lite私有协议实施过程中的配套硬件模块,专用硬件加速器进一步促进了对称密码算法的处理效率。MAC接口CPUMAC-ite传来命令报文配益井启动专用OMAMAC-Ute上件物应报文图8 专用硬件加速引擎工作流程图三、系统性能分析(一)测试系统搭建为研究分析本文提
17、出的嵌入式高速网络安全加密子系统性能,设计了典型的测试场景,测试该系统的国产商用密码算法对称加/解密性能。该嵌入式高速网络安全加密子系完成响应接收报文3处理专用硬件加速引擎从内存老格一提放端至SML/SH4输入寄存器启动SM1/SM模决SMI/SM足否处理宽毕?从SM1/5M4消出尚存器轻移一妞数弱至内存是香还有未处理嫩端?通知CPU处理完成统的典型实施例采用国产芯片RK3568作为主控芯片,与国产安全芯片KS10通过百兆以太网口完成PCB板上走线连接,构成安全加密子系统。同时,RK3568留有以太网口对外通信,与测试PC机对接。本测试中,测试PC机通过网线与安全加密子系统硬件板卡连接,并通过
18、以下测试步骤完成测试:(1)测试PC机作为Server端启动监听,监听作为Client端的高速网络安全加密子系统的固定端口;(2)测试PC与高速网络安全加密子系统建立TCP/IP连接;SM1/SM4开始处理一组加/解密运算NPoliceTechnology2023年第4期 57网络安全e(3)PC 端开始计时(开始时刻T),并开始发送待处理数据及接收处理结果;(4)PC 端计时30 秒结束(结束时刻T,),停止收发数据;(5)根据测试数据量(共Nbit)和时间计算密码处理速率,依照以下公式进行:Speed=N/(T,-T,)=(二)测试结果分析依照上述测试方法,本文对提出的高速网络安全加密子系
19、统的对称加/解密速率进行了测试。另外,为了进一步分析验证本文所提出的高速网络安全加密子系统的性能,作为对照实验,本文基于原始的安全加密子系统进行了同样的加/解密速率测试。原始的安全加密子系统在安全芯片内部移植了LWIP协议栈,在主控芯片和安全芯片间依赖完整的TCP/IP协议进行通信,待加/解密的数据帧在安全芯片内需经过TCP/IP协议栈解析后,在应用层再由CPU从内存搬移至算法模块进行处理。另外,目前业内通常使用的高速智能密码类设备,如加密USBKey、安全加密MicroSD卡等,其对称加/解密性能的最佳峰值通常在4OMbps左右,本文也结合这一情况进行了对比。表1高速网络安全加密子系统性能系
20、统类型项目SM1加密SM1解密SM4加密SM4解密测试数据量Mac-Lite高速(Kbit)网络安全加密运算速率子系统49346.72 49990.43 47913.95(Kbps)49076.45测试数据量1256149.551256322.361252663.57(Kbit)原始的安全加密子系统运算速率41871.6541877.4141755.45 41623.53(Kbps)业内通常使用峰值的高速密码类(Kbps)设备运算速率如表1所示,上述测试结果可从一定程度反映出本文提出的高速安全加密子系统在国产商用密码算法加/解密性能上的优势,以及本文改进工作的有效性。在本测试流程中,影响处理效
21、率的主要有三个环节:第一,主处理芯片中的数据搬移过程;第二,主处理芯片与安全芯片间的数据传输;第三,安全芯片内部的数据处理。其中,第一点是固有损耗,本文提出的Mac-Lite私有协议包含的一系列改进工作针对第二点和第三点进行了性能提升。在此提升过程中,MAC-Lite私有协议融合了本文所述多项软/硬件改进措施,形成了解决芯片间高速密码处理的整体解决方案。其中,硬件加速引擎作为MAC-Lite私有协议的硬件优化模块,与数据报文流程优化、数据有序性完整性保护、命令报文并发处理等软件优化相互补充配合,才促成了安全加密子系统的性能提升。四、实际应用研究基于本文提出的嵌入式高速网络安全加密子系统研制N出
22、的安全加密设备,可有效应用于多媒体数据流加密传输等bps301480401.691499712.831437418.441472293.411248705.91约40 0 0 0公共安全行业的典型应用中。该安全加密设备可作为关键数据传输的加/解密节点或接入认证节点,为端侧视频采集、图像显示等设备与控制调度中心之间建立安全的业务数据链路,图9 展示了上述应用场景的典型架构图。L网线格端说备安全加密设备网线端设备安全加密没备图9 典型实际应用架构图上述应用中的安全加密设备,基于MAC-Lite私有协议提升了主板上主处理芯片和安全加密芯片间的处理性能,从而有效提升了整机的数据加/解密性能。基于该设备
23、开发的端到端、端到中心安全加密通道可以具备良好的带宽,可有效承载大数据量高速加/解密的业务应用。Mac-Lite私有协议能够有效提升板载主处理芯片与安全芯片间的数据传输处理性能,构建嵌入式高速网络安全加密子系统。本文的研究成果,对于研发全国产化的高速加/解密的网络安全设备,提供了有价值的参考。在进一步的工作中,基于Mac-Lite私有协议,既可以在两芯片间使用千兆网口进一步提升产品性能,还可以将Mac-Lite协议在应用层细化,并进一步适配SSL或IPSec等网络安全应用,进而研究功能更加丰富的高速网络安全设备。参考文献徐平江,等,一种安全芯片通用中间件的模型及实现信息技术与标准化,2 0 2 2,(Z1):11-16.谢宗晓,等,国产商用密码算法及其相关标准介绍中国质量与标准导报,2 0 2 0,(0 6):12-14.3 Jean J.Labrosse.邵贝贝等译.嵌入式实时操作系统:C/OS-I(第2 版)MJ.北京:北京航空航天大学出版社,2 0 0 3.5.4 张锋,等.基于CK-Core的安全芯片Bootloader开发与应用.现代电子技术,2 0 13,36(2 2):137-142.网线通信阿络网线安全加帝设带C网线五、结语指挥控制中心58警察技术2 0 2 3年第4期