1 嵌入式系统信息安全
随着当代信息物理社会(CPS,cyber physical society)的不断融合发展,信息安全越来越受到社会各级主体的重视。自上个世纪计算硬件与密码学的发展,信息安全领域已经研发出多种新颖高效且安全的加密算法,如今各类加密算法已经被广泛应用于工业控制系统(ICS, industrial control system)、航天航空、国防军事、电子商务与通讯等领域。其中,工控系统大量应用在中国关键基础设施上,关乎中国国家安全与国计民生。然而工控系统安全措施的落后,为其应对新型攻击手段与不断提高的信息安全需求带来挑战。各类嵌入式设备是工控系统的重要组成部分,承担大量运作与控制任务。嵌入式系统的信息安全关系着工控系统的整体安全。如何保证目前已有的各式加密算法或专为嵌入式设备与工控设备的新型加密算法,能有效部署移植到嵌入式系统中,在不过多影响系统固定运作的同时满足嵌入式系统的运行性能要求,并提供数据加密安全的能力,已经成为了新的挑战。
面向嵌入式系统的加密算法性能检测的研究是以工业控制系统安全作为研究的宏观背景,以工控系统中重要的组成部分嵌入式系统为具体研究对象,研究将帮助待测试加密算法在具体嵌入式设备中的性能测试,以完善面向嵌入式系统加密算法的设计。
1.1 嵌入式系统信息安全
嵌入式系统是一种为了处理特定任务,要求具有功能专一性,计算实时性的计算机系统[。嵌入式设备同传统计算设备相比具有更加丰富的硬件结构,更注重同外接设备的互操作。
嵌入式系统上的一个主要工程问题是应付有限的资源:有限的计算处理能力、能源与内存等,这带来了工程设计优化的挑战。在CPS中,嵌入式系统通常通过物理环境影响计算的反馈环路来监视和控制物理过程,在系统中任务执行所产生的延时对于系统功能正常作业的纠正至关重要。
嵌入式系统是工控系统的重要组成部分,大量的嵌入式设备部署于工业场景,负责实际的生产工作或协调控制外接设备的运行,嵌入式系统将是安全服务的重点应用对象[。
1.2 嵌入式系统密码测评的意义
面向传统信息系统的加密算法研究已经有十分成熟的应用,在以保密性、完整性、可用性为优先的前提下,目前流行的加密算法不一定适合处理嵌入式系统中的任务,不能有效支撑基于有限成本的硬件运行计算需求。
研究适合有特定资源的嵌入式系统的加密算法,需要完成对目标嵌入式系统的性能测试。如准备为当前设备挑选合适的加密算法,或检测当前准备的加密算法能否部署到目标嵌入式系统,或保障加密算法应用后的嵌入式系统本身作业任务能正常进行,从而反映出对嵌入式系统进行其加密算法运行上的性能检测需求。
研究关注工控系统信息安全,面向嵌入式系统加密算法应用的巨大测评需求。从嵌入式系统测评过程中,分系统侧与密码侧两方面展开工作,根据两侧模型不同的参数配置,寻找能反映加密算法对嵌入式系统性能影响的指标,研究加密算法与嵌入式系统性能的具体依赖关系,构建加密算法性能检测的理论框架,帮助嵌入式系统选择符合运行要求的加密算法。
2 相关工作
2.1 常用加密算法介绍
对称与非对称加密算法:对称加密算法是保护信息保密性、完整性与可用性的应用最广泛的手段。对称加密解决方案可用来加密任何大小的流数据或块数据,并以明文、加密算法、对称密钥、密文与解密算法构成其五个基本组成成分。对称加密使用相同的加密密钥与解密密钥,其加密算法与解密算法的流程也大体一致。常见的对称加密算法有DES、AES、Blowfish与RC5等算法。
非对称加密所属的公钥密码学的出现带来了整个信息密码学的一次重要的革命,将原本基于置换和替换的对称加密思想转变为基于数学函数互补运算的思想。非对称加密与对称加密的明显区别在于非对称加密的加密密钥与解密密钥不相同,但加解密后又能保持明文的一致。RSA是使用最广泛的非对称加密算法, 在相同安全强度要求下,椭圆曲线密码较其他公钥密码所需的密钥规模要小得多[。与RSA相比,其签名速度与秘钥生成速度都更好[。
国产加密算法:SM系列算法是中国自主研制的国产加密算法,又称国密算法。国密算法完整地包括了数据加密、信息摘要、身份认知、消息签名等各种基础密码算法部件。SM2算法是基域为素域和二元扩域的椭圆曲线公钥密码算法,可满足多种密码应用中身份认证和数据完整性、真实性的安全需求[。SM3杂凑算法可用作消息摘要,常应用于商业密码[。
轻量级加密算法:由于微处理器和芯片体积的不断缩减,因此有必要使施加的加密方案既安全又不计算昂贵。面向资源受限设备运行的性能需求与信息安全需求,轻量级密码被认为是一种有效的加密算法设计思路。作为密码学中的子领域,轻量级密码(lightweight cryptography)主要针对的是传感器网络、嵌入式系统与RFID等的资源受限设备
2.2 常用嵌入式系统性能指标
面向嵌入式系统的加密算法性能检测涉及多项性能指标,这些指标大多与传统计算机服务器相同,但嵌入式系统作为功能专业化与资源受限的设备,其性能指标同传统运维指标相比,仅会取到运维指标的子集。根据文献分析的性能指标,以与本文嵌入式系统类别相同的操作系统性能指标为例,系统性能指标可分为以下四类
1) CPU资源:包括CPU使用率、系统CPU总负载、CPU时间软中断百分比与CPU每秒上下文切换次数等指标;
2) 内存资源:包括物理内存可用量、缓冲区使用量、物理内存使用率与内存共享区域大小等指标;
3) 读写IO能力:包括磁盘写入量、磁盘读取次数、磁盘IO占比与磁盘IO服务时间等指标;
4) 网络通信资源:包括网络接口进出流量、TCP连接统计数量、网络接口收发的错误包数量与ipv4监听状态连接数量等指标。
3 面向嵌入式系统的加密算法性能检测方法
加密算法数据处理过程复杂,信息量大,其处理过程需要占用较多的内存、CPU使用率与能耗。加密算法应用对系统/设备侧的影响主要体现在性能、资源、可靠性与任务调度等指标上。其性能度量主要从硬件度量和软件度量考虑,分为能量消耗、延时、吞吐率3个维度。硬件平台的性能需求通常用等效门来表示;而软件应用的性能需求则从寄存器数目、RAM和ROM的字节数等来表示。加密算法性能检测是通过密码侧和系统侧融合应用完成的,密码侧指加密算法本身处理逻辑及配置,系统侧包含嵌入式本身结构与硬件相关的性能指标。测评工作可供研究的系统测元素如
图 1(Fig. 1)
图 1 系统侧与密码侧关联图
Fig. 1 System side and the cry