>  安全资讯  > 轻量级密码算法对比分析及应用

轻量级密码算法对比分析及应用

2024-01-18

摘 要:传统密码算法难以适用于物联网等资源受限环境,为了满足此类场景的安全防护需求,轻量级密码算法应运而生且不断发展。近些年,世界各国学者、机构推出了大量的轻量级密码算法,本文对选取的 6 个典型轻量级密码算法进行对比分析,结合算法结构和软硬件上的性能表现,给予相应的评价以及应用场景推荐。最后从算法应用的角度对轻量级密码算法在物联网端边云协同、自动驾驶和卫星安全通信三个场景下的应用进行探讨。

1999年,麻省理工学院在研究无线射频技术(Radio Frequency Identification,RFID) 时首次提出“物联网”的概念;2005 年,国际电信联盟(International Telecommunication Union,ITU)发布的年度报告指出,物联网时代即将来临;2009 年,各国纷纷提出物联网发展战略和规划,如美国的“智慧地球”计划、欧盟的“物联网行动计划”等。物联网发展至今已经在电力、安防、交通、物流、智能家居、智慧城市等领域得到了广泛应用,但也面临着严峻的安全风险和挑战。物联网传感器常应用于电卡、汽车 ETC 等场景,数量巨大,同时存在内存资源较少、处理能力有限、功耗要求严格等限制。密码技术是保障信息通信系统安全的核心和基础,而传统的密码算法通常需要大量的计算和存储资源,不适合以上场景。为此,研究人员开始探索开发轻量级密码,以满足这些设备的加密认证需求 。

传统密码算法如 AES 和 RSA,虽然在安全性方面表现出色,但在资源受限的环境下使用时,会面临计算复杂性、存储需求、能耗和操作时延等多方面的问题。以 RFID 为例,这项技术需要在应用中确保数据的安全性,但由于设备可用的计算资源少,要求所采用的密码算法的逻辑门数量不能超过 2 000 个 。为了满足资源受限环境下的密码需求,轻量级密码算法应运而生,并持续发展。这些算法基于特定的设计原则,在硬件实现、加密速度和运行功耗等方面相对于强密码算法具有显著的优势,更适合在物联网微型计算设备上使用。随着对轻量级密码算法的需求不断增加,国际标准化组织(International Organization for Standardization,ISO)和其他标准机构开始考虑制定适用于这些环境的密码标准 。我国科学家也在积极推动轻量级密码算法的发展,在近些年推出了多个优秀算法 。

本文关注轻量级密码算法的设计特点,并从应用的角度探讨轻量级算法在特定场景下的灵活应用。本文结构安排如下:第 1 节介绍轻量级密码的发展现状,回顾了世界各国开展轻量级密码算法研究的时间节点和推进的工作,以及目前轻量级密码最新的发展动向;第 2 节从轻量级密码算法的分类出发,阐述轻量级密码的总体概况,并通过算法结构介绍目前典型的几种轻量级分组密码和可认证加密算法;第 3 节从算法设计理论、硬件性能、软件性能 3 个方面做对比分析,并给出对轻量级密码算法表现的总体评价;第 4 节从算法应用的角度提出物联网端边云协议、自动驾驶、卫星安全通信 3 种特定场景下的应用方案,探讨轻量级密码算法的灵活应用;第 5 节提出轻量级密码算法的发展难点及未来方向。

1、轻量级密码发展现状

轻量级密码算法的起源可以追溯到 20 世纪 80年代,旨在保护工业领域的安全性,但那时设计的轻量级密码无法抵抗不断发展的攻击,安全性存在一定的缺陷。随着物联网技术的发展和相关应用的推广,大量的轻量化物联网设备催生了对轻量级密码算法的需求。2007 年,轻量级密码算法PRESENT[6] 发布,其超轻量的设计产生了巨大影响。

2013 年, 美 国 国 家 安 全 局(National Security Agency,NSA)发布了两个轻量级分组密码算法,分别是 SIMON 和 SPECK。同时,美国国家标准与 技 术 研 究 所(National Institute of Standards and Technology,NIST)启动了一个轻量级密码项目。为了推动这一项目,NIST 在 2015 年和 2016 年分别举办了两次轻量级密码研讨会,以征求公众的建议和观点。随后,NIST 于 2017 年 4 月发布了有关轻量级密码标准化进程的白皮书,并在 2018 年5 月发布了文件,以征求有关轻量级密码算法标准化流程和评估策略的意见。最终,在 2018 年 8 月,NIST 正式启动了轻量级密码的征集、评估和标准化工作,旨在开发一系列适用于那些现有 NIST 密码算法标准不适用的资源受限环境的轻量级密码算法,其中,重点考虑认证加密算法。这一工作的目标是确保在嵌入式设备、物联网和其他资源受限应用中提供适当的数据安全性。经过 3 轮评选,2023年 2 月 7 日,NIST 宣布从最初的 56 个候选算法中选择 Ascon 算法簇作为优胜算法,并开展轻量级密码学标准化工作。

欧洲、日本等国家或地区也较早开展了轻量级密码的研究工作。欧洲早在 2004 年就开始将轻量级密码算法作为欧盟委员会第 6 和第 7 框架计划ECRYPT I 和 ECRYPT II 的研究主题。eSTREAM 计划则最终选择了一些适用于硬件实现的轻量级流密码算法。2013 年,日本密码学研究和评估委员会(Cryptography Research and Evaluation Committees,CRYPTREC)成立了轻量级密码工作组,制定了轻量级密码技术指南,为需要轻量级加密技术的产品和用户推荐合适的算法。此外,2015 年,俄罗斯发布了密码算法标准 Gost R 34.12-2015,用分组密码Kuznyechik 代替了之前的算法。这些举措表明,全球范围内对轻量级密码算法的研究和标准化工作正在积极推进,以满足不同国家和地区对于资源受限环境下的数据安全需求。

我国的第一个轻量级密码算法是在 2011 年由吴文玲和张蕾等人在 ACNS 2011 上提出的 LBlock,它的出现推动了我国在轻量级分组密码设计上的发展。随后在 2015 年,我国学者张文涛等人提出Rectangle 算法 。近期,我国科学家在基于同态加密的轻量级密码算法研究中取得了一些重要成果。由于我国目前还没有启动关于轻量级密码算法的标准化进程,对于轻量级密码算法的研究更多地是对国内外轻量级算法的优化、安全性分析等。

2、轻量级密码算法简介

2.1 算法分类

区别于传统密码算法,轻量级密码算法重点关注分组密码、认证加密算法、杂凑函数和流密码等技术方向。NIST 提出,公钥密码现阶段面临的主要是后量子安全的问题,轻量级密码项目暂不考虑公钥密码。在众多技术路线中,轻量级分组密码是研究与应用的热点,本文将重点探讨这个领域。同时,认证加密算法通过结合对称密码与消息认证码的方式,为数据提供机密性、完整性及数据源认证等功能,因此在各个行业中越来越受青睐,本文也将对其进行深入研究。

2.2 分组密码

近年来发布的轻量级分组密码大多采用传统的分组密码整体结构,其主要特点体现在非线性部件、扩散层和密钥扩展算法等方面。表 1 列出了国际上一些重要的期刊和会议上发表的 35 种轻量级分组密码算法。

表 1 已发表的轻量级分组密码

下面将从算法结构的角度选取 5 个国内外典型的轻量级密码算法进行介绍。

2.2.1 Feistel 结构

Feistel 结构是一种经典的分组密码结构,被广泛用于设计和构建分组密码算法,它以高度的安全性和可逆性在密码学领域中备受赞誉。

如图1所示,Feistel 结构的核心思想是将明文数据分成两个部分,并通过一系列轮函数的迭代处理逐步转换这两个部分,最终将它们合并生成密文。在每一轮中,右半部分的数据会被送入轮函数中与左半部分进行某种运算,例如异或操作。这个过程会被反复执行多轮,每轮中的密钥都会发生变化,增加了密码的复杂性。Feistel 结构最著名的应用是数据加密标准(Data Encryption Standard,DES),并且它的变体结构在轻量级分组密码算法中也得到了广泛应用。

图 1 Feistel 结构

(1)LBlock

LBlock 是 一 种 由 我 国 学 者 吴 文 玲 和 张 蕾 在ACNS 2011 上提出的轻量级分组密码算法。它采用32 轮 Feistel 结构,并拥有 80 bit 的密钥和 64 bit 的分组长度。

该算法在设计上考虑了实现效率、代价及算法安全性等多个因素。密钥扩展算法借鉴了 PRESENT算法的设计理念,使用循环移位和 S 盒变换生成轮密钥。这不仅提高了算法对相关密钥攻击的抵抗能力,而且使得算法具有良好的性能。

(2)SIMON

SIMON 算 法 是 由 美 国 国 家 安 全 局(National Security Agency,NSA)于 2013 年发布的一族轻量级分组密码算法,旨在满足不同应用需求并强调灵活性。该算法支持多种分组长度和密钥长度,以适应不同安全性和资源限制的场景。SIMON 算法采用 Feistel 结构,分组长度可以是 32 bit、48 bit、64 bit、96 bit 和128 bit,而密钥长度根据分组长度的选择而变化,范围从 64 bit 到 256 bit 不等。这种设计使得 SIMON 算法在多样化的应用中具有广泛的适用性。

2.2.2 SPN 结构

如图2所示,代换-置换网络(Substitution -Permutation Network,SPN)结构一般由可逆的线性函数 S 和可逆的线性变换 P 组成,其中 S 通过替换操作实现数据的混合作用,而 P 则通过置换操作实现数据的扩散作用。相比于 Feistel 结构,SPN 结构的数据扩散速度更快。S 层和 P 层可以在实现中考虑并行操作,以取得更快的性能表现。

图 2 SPN 结构

SPN 结构最具代表性的分组密码算法是 AES,许多轻量级分组密码算法在设计中也采用了 SPN 结构。

(1)PRESENT

PRESENT 发布于 2007 年,2012 年被纳入 ISO/IEC 轻量级分组密码国际标准。PRESENT 在轻量级密码算法中占据了重要的地位,在设计之初,它一度被认为是最杰出的超轻量级密码算法。PRESENT的 整 体 结 构 将 简 单 性 原 则 体 现 得 淋 漓 尽 致, 非线性层使用 4 bitS 盒,线性层的操作仅为比特置换。PRESENT 的 分 组 长 度 为 64 bit, 密 钥 长 度 为80/128 bit,整体结构为 SPN 结构,迭代轮数为 31。

(2)GIFT

GIFT 是 Banik 等 人 [12] 为 庆 祝 PRESENT 算 法10 周年设计的,延续了后者的设计策略。GIFT 的主要设计目标是弥补 PRESENT 在安全性上的弱点 ,同时在实现性能方面更有效,硬件实现面积更小、速度更快。为了尽可能达到轻量化设计极限,GIFT 选取了硬件实现面积更小的 S 盒,放宽了密码特性的一些指标限制。GIFT 有两个版本,密钥长度为 128 bit,分组长度分别为 64 bit 和 128 bit。

(3)Rectangle

Rectangle 发布于 2015 年,是我国学者张文涛等人发布的轻量级分组密码算法,其主要设计思想是采用比特切片技术设计适合多个软硬件平台的轻量级分组密码算法。Rectangle 的分组长度为64 bit,密钥长度为 80 bit 和 128 bit。整体结构为SP 结构,迭代轮数为 25。由于采用比特切片设计的风格,在现有的轻量级分组密码中,Rectangle 实现了非常有竞争力的软件速度。S 盒可以使用 12 条基本逻辑指令序列来实现。p 层由 3 个旋转组成,这使得它对硬件和软件实现都非常友好。

2.3 认证加密算法

认证加密算法(Authenticated Encryption & Auth enticated Cipher)指同时完成数据加密和完整性验证的密码算法。早期的认证加密算法多采用组合方式设计,主要的组合方式有 Encrypt-then-MAC、MAC-then-Encrypt、Encrypt-and-MAC, 这 3 种 构造方式的优势在于通用性,适用于常见的加密和认证算法,但缺乏令人信服的安全性 。

目前的认证加密算法可以归为两类:一类是分组密码认证加密工作模式,另一类是直接设计的认证加密算法。分组密码认证加密工作模式黑盒调用分组密码,优点是可以方便替换底层分组密码,目前的 ISO/IEC 和 NIST 相关标准收录的认证加密算法都属于此类。直接设计的认证加密算法从底层模块起直接设计,而且分组密码不再是底层模块的唯一选择,基于置换、伪随机函数、压缩函数等构建的认证加密算法被陆续提出。

认证加密 AE 方案构造如图 3 所示,具体流程为:发送者将临时值、关联数据、明文数据作为输入,生成密文和标签 T,接收者进行解密并生成 T’,若 T’=T,则输出明文;否则返回空。

图 3 可认证加密的工作原理

ASCON 是 NIST 轻量级密码竞赛的获胜算法。ASCON 算法采用复式结构,共分为初始化、处理关联数据、处理明文、终止函数4个阶段。ASCON算 法 的 作 者 推 荐 两 个 参 数 的 算 法 版 本 分 别 为:ASCON-128 和 ASCON-128a, 它 们 的 区 别 在 于 数据块长度,分别为 64 bit 和 128 bit,其中第 2 个版本在处理长数据上有性能优势。ASCON 的密钥灵活性高,其底层置换状态小仅 320 bit,轮函数设计简单,同时采用了比特切片的设计理念。该算法在2013 年就已公布,经历了长期的国际学术界的安全性分析与考验。

3、轻量级密码算法对比研究

本 节 对 第 2 节 所 提 到 的 LBlock、SIMON、PRESENT、GIFT、Rectangle、ASCON 共 6 项 轻 量级密码算法进行细化的对比研究,分别从算法理论设计、算法硬件性能、算法软件性能等维度评估各项算法的基础能力。

3.1 算法设计理论对比分析

表 2 是从算法设计理论的角度进行对比分析的结果。PRESENT 算法最早发布,算法设计简洁,是较为公认的首个轻量级分组密码;LBlock 算法以 PRESENT 为参照,采用了广义 Feistel 结构减少S 盒的个数;GIFT 算法发布最晚,沿用 PRESENT的 设 计 策 略, 采 用 了 更 小 的 S 盒。Rectangle 和ASCON 算法都加入了比特切片理念,使得它们对硬件和软件实现都非常友好。SIMON 算法支持多种分组长度和密钥长度,应用灵活。

表 2 算法设计理论的对比分析

3.2 算法硬件性能对比分析

硬件实现的性能数据中的一个关键数据为芯片面积,单位为 GE,由电子设计自动化工作获得,每个轻量级算法在发布时均会将算法的实现面积作为评测算法的重要指标。由于不同作者选取的环境有所不同,本文选取发布时间最晚的 GIFT 算法作者提供的数据为主要参考,这是因为在统一的测试环境下其更具代表性,对比指标和具体参数如表 3所示。表 3 中算法的测试数据是基于轮用 STM90 纳米标准单元库实现的。

根 据 文 献 [9] 中 提 供 的 数 据,LBlock 在 与PRESENT 算法达到相同输出速率的情况下,实现面积约为 1 350 GE;ASCON 算法提供认证加密功能的轻量级实现,该实现的面积约为 2 600 GE。当采用基于轮数的实现时,面积将近 10 000 GE,但这样的实现可以达到 4.9~7.3 Gbit/s 的吞吐量,足够对千兆以太网连接进行加密。

表 3 部分算法硬件实现性能对比

表格中分组密码算法的硬件实现面积均小于2 000 GE,单从面积指标上分析都满足资源受限环境场景,其中,64 bit 分组长度的 GIFT 算法实现面积最小。但在最大输出功率和能量消耗方面,密钥长度为 128 bit 的 Rectangle 算法以较小的实现面积在这两项指标中表现较为优秀。ASCON 算法的实现面积虽然较高,考虑到其具备认证加密功能和良好的吞吐量,该算法的表现也十分优异。

3.3 软件性能测试对比分析

本文对选取算法的软件性能进行了评估,评估过程中最大程度保证选取算法采用相同的分组长度、密钥长度。测试采用基础的 C 语言实现,测试系统为 Windows10,测试环境为 Intel(R) Core(TM)i5 – 9500 CPU @ 3.00 GHz。测试结果如图 4 所示,需要指出的是,本次测试所有算法均未进行优化处理,性能结果仅供参考。测试结果显示,采用96 比特密钥、64 比特分组长度的 SIMON 本次测试中的加密性能最优,ASCON-128 的加密性能略低于SIMON,表现较好。而发布时间最早的 PRESENT的性能表现最差。

图 4 软件实现性能对比

另外,由于 Rectangle、ASCON 在设计中采用了比特切片的思想,这些算法在使用指令集实现时有着很大的优势,通过指令集可以在特定场景下取得相当优异的软件性能,而本次实验中并没有体现指令实现的性能。

3.4 算法总体分析及应用评估

本节综合上述的算法设计理念、算法硬件性能、软件性能对选取算法进行总体评价,并对算法的应用场景进行建议,为算法应用落地提供参考,具体如表 4 所示。

表 4 选取算法总体分析及应用评估

4、轻量级密码算法应用研究

4.1 物联网端边云协同

物联网的快速发展使得大量的设备连接到云端,这些设备在信息传输、数据存储及身份认证时均需进行密码保护。图 5 给出了轻量级密码算法在物联网“端—边—云”协同场景中的应用案例。对于直连物联网云平台的物联网设备,采用嵌入轻量级密码算法的安全 MQTT/HTTP 协议,确保“端—云”通信安全。对于“端—边—云”通信情形,在“端侧”的物联网设备内集成轻量级分组密码算法,实现本地敏感数据的快速加密;在“端—边”通信链路,使用基于轻量级密码算法的信源加密方式保证通信的安全性和高效性;在“边—云”通信链路,可选传统密码算法、轻量级密码算法等不同方案,确保安全通信的灵活性。对于自组网情形,可使用轻量级认证加密算法实现自组网内部快速的群组设备认证,提升自组网的安全性。

图 5 物联网端边云协同轻量级密码应用案例

本场景下,物联网嵌入式设备往往具有受限的计算存储资源,对功耗极为敏感,而轻量级密码算法兼顾资源效率、安全性、低功耗和快速性,可在不影响业务的前提下保护物联网设备通信及数据的安全性。此外,轻量级密码算法可在边缘计算服务器、云平台等集成,这使得物联网“端—边—云”协同更加安全。在物联网的快速增长中,轻量级密码算法将继续发挥关键作用,确保数据的保密性和完整性。

4.2 自动驾驶

汽车自动驾驶技术的快速发展要求在车辆通信和数据传输中确保数据的安全和隐私。图 6 给出了轻量级密码算法在自动驾驶车辆网络架构下的应用案例,其中主要包括云服务数据中心(Data Center,DC)、 车 载 控 制 中 心(Vehicle Center,VC)、远端用户(User)、自动驾驶车辆(Car)。云服务数据中心拥有极大的存储空间和极高的计算能力,可采用传统密码和轻量级密码算法相结合的资源计算中心,而自动驾驶车辆需要配备电子控制器单元(Electronic Control Unit,ECU)。

“User-DC”端通信中,一方面用户可以访问路况和天气等信息,并做出相应的评估;另一方面,用户通过身份认证后可以获取车辆的实时数据,并通过远程指令对车辆路线规划、应急处理进行管理。对于这种通信情形,可采用传统密码算法和轻量级密码算法等不同方案保证身份认证和安全通信的灵活性。“DC-VC-Car”端的通信,可采用轻量级可认证加密算法保证对数据源的认证及控制指令的安全性。“Car-Car-DC”端的通信分为两个部分,其中“Car-Car”指车辆与车辆之间的“挑战-响应”对(Challenge-Response Pair), 车 辆 之 间 可 以 通过轻量级认证加密算法对车辆间的指令信息加密,保证无线传输网络的安全性,同时车内的 ECU 单元利用轻量级分组密码对本地敏感数据进行加密保护;“Car-DC”指自动驾驶车辆与云服务数据中心之间的通信,该通信可采用基于轻量级分组密码算法的无线安全传输协议。

图 6 自动驾驶轻量级密码应用案例

本场景下,通过认证的车主可以远程控制本人的汽车,车载控制中心虽然具备客观的计算能力,但由于车辆众多,可分配到每辆汽车的资源有限,所以轻量级密码算法的低功耗特点可以很好地弥补这一点。另外,由于车内 ECU 单元存储及计算资源有限,且车内通信时效性高,因此可将轻量级密码库作为终端安全支撑设施,采用对称密码技术实现车内安全通信保障,或采用可认证加密同时完成数据加密和数据完整性保护。

4.3 卫星安全通信

卫星通信是一种经常应用于远程通信、数据传输和全球联网的技术。在卫星通信中,轻量级密码算法具有重要的应用价值。

如图 7 所示,卫星通信网络分为星间链路和星地链路。星地链路是指从地球上的终端用户到卫星,然后返回到地球上的地面站点的通信链接。这种链路通常分为上行链路(用户到卫星)和下行链路(卫星到用户)。星地链路主要采用的通信协议是 5G等标准协议 ,由标准制定单位进行设计。而星间链路通信可以采用定制化协议。

图 7 卫星安全通信轻量级密码应用案例

卫星通信中传输的数据往往是敏感的,因此数据的安全性尤为重要。然而,卫星通信终端的计算和存储资源通常是有限的,并且卫星设备常常依赖有限的能源供应,如太阳能电池等。因此,在选择加密算法时,低功耗是一个重要的考量指标。

轻量级密码算法正好符合上述特点和需求,它们适用于资源受限的环境。将带有认证加密功能的轻量级算法应用于星间链路的定制化通信协议中,可以很好地解决上述问题。这样做既满足卫星之间通信的数据安全和隐私需求,又能尽量减少资源消耗。

5、问题与展望

轻量级密码算法发展至今,在其不断发展的进程中仍然存在一些问题和难点,但这些问题也为其未来的发展指明了方向。

(1)安全性分析:轻量级密码算法的安全性需要进行深入的分析和评估。与传统密码算法相比,轻量级密码算法采用了新的设计方法,因此需要使用新的分析手段和技术来评估算法的安全性。

(2)标准化问题:相较于 NIST 对于轻量级密码算法标准化进程,目前我国还没有推出相关的轻量级密码算法标准,这对我国轻量级密码算法的应用产生一定的阻力。

(3)国产算法设计:虽然我国学者推出的LBlock 和 Rectangle 算法引起了学术界的广泛关注,但相较于国际顶尖算法仍存在一些差距,而且我国学者提出的算法主要集中在分组算法上。随着ASCON 算法标准化工作的开展,直接设计的可认证加密算法可能是我国学者接下来的重点工作。

(4)应用场景需求:随着自动驾驶、卫星通信等技术的兴起,对于部件、功耗、面积的标准有着更为严苛的要求,这迫使轻量级密码进一步完善与发展。

(5)量子安全和后量子密码算法:随着量子计算机的发展,传统密码算法的安全性可能受到威胁。因此,量子安全的 MAC 算法和后量子轻量级公钥密码算法是未来的研究方向。

6、结 语

本文通过对比分析多种轻量级密码算法的设计理论,比较它们在硬件与软件性能上的差异,给出了总体评价和应用建议。探讨了轻量级密码学在物联网、自动驾驶和卫星安全通信等前沿应用场景中的关键作用和发展现状。最后提出了轻量级密码算法目前存在的问题和对未来的展望。

综合上述分析可以看出,轻量级密码算法作为保护资源受限环境中的数据安全的强有力工具,未来将持续扮演至关重要的角色。随着技术的不断演进,轻量级密码算法需要不断优化,以满足日益增长的安全需求,为数字世界提供坚实的安全基石。

引用格式:李祥宁 , 张舒黎 , 胡蓬 , 等 . 轻量级密码算法对比分析及应用 [J]. 通信技术 ,2023,56(12):1401-1410.

作者简介 >>>

李祥宁,男,硕士,工程师,主要研究方向为密码技术;

张舒黎,男,博士,高级工程师,主要研究方向为密码技术;

胡 蓬,男,学士,工程师,主要研究方向为密码技术、可信计算;

邓春华,女,硕士,工程师,主要研究方向为密码技术。

选自《通信技术》2023年第12期(为便于排版,已省去原文参考文献)

声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表沃通CA立场,转载目的在于传递更多信息。如有侵权,请联系删除。