温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
面向
嵌入式
设备
轻量级
AES
加密
通讯
系统
设计
实现
刘政
第 46 卷 第 1 期2023 年 2 月电 子 器 件Chinese Journal of Electron DevicesVol.46No.1Feb 2023项目来源:国家重点研发计划项目(2021YFB1407001);山东高速集团省级项目(2020BZ0601)收稿日期:20211108修改日期:20220102Design and Implementation of a Lightweight AES EncryptedCommunication System for Embedded Devices*LIU Zheng1,DAI Peipei1,XING Jianping1*,SUN Qiyu2,LIU Yufeng2(1School of Microelectronics,Shandong University,Ji nan Shandong 250101,China;2Shuifa Wisdom industry Group Limited,Ji nan Shandong 250101,China)Abstract:A lightweight implementation scheme based on software is proposed for embedded devices according to 128-bit AES encryp-tion algorithm By using T-type lookup table storage scheme,byte substitution,shiftrows and mixcolumns operations in AES encryptionalgorithm are transformed into lookup table operation,and the memory access mechanism is optimized to enable AES encryption algo-rithm to run in a limited processor speed,code space and energy use environment The hardware implementation is carried out on Fire-fly-K3399 embedded development board,and a lightweight AES encryption communication system is designed based on TCP/IP socketcommunication scheme 32-byte message content and 128-bit time dynamic key are used to perform system experiment The results showthat compared with the traditional AES encryption algorithm,the encryption and decryption speed of the proposed method can be in-creased by 1502%without reducing security under the same environmental factorsKey words:AES encryption;sockets;embedded;communication securityEEACC:6140doi:103969/jissn10059490202301005面向嵌入式设备的轻量级 AES 加密通讯系统的设计与实现*刘政1,代培培1,邢建平1*,孙启玉2,刘玉峰2(1山东大学微电子学院,山东 济南 250101;2水发智慧产业集团有限公司,山东 济南 250101)摘要:针对嵌入式设备,基于 128 位 AES 加密算法提出了一种基于软件的轻量化实现方案,利用 T 型查找表存储方案,将AES 加密算法中字节替代、行移位和列混合操作转化成查表操作,并优化内存访问机制,使 AES 加密算法能够在有限的处理器速度、代码空间、能源使用的环境中运行。在 Firefly-K3399 嵌入式开发板上进行了硬件实现,基于 TCP/IP 的套接字通讯方案,设计了轻量级 AES 加密通讯系统。采用 32 字节报文内容、128 位的时间动态密钥,进行系统实验,结果表明较传统 AES加密算法,在环境因素相同的情况下,所提方法在不降低安全性的同时,加解密速度可提升 1502%。关键词:AES 加密;套接字;嵌入式;轻量级中图分类号:TN9295文献标识码:A文章编号:10059490(2023)01002907高级加密标准(Advanced Encryption Standard,AES)在 1998 年由 JDaemen 等1 提出,于 2001 年被美国国家标准与技术研究所(NIST)选中并使用2。AES 是一种包含替换和变换的标准化区块加密算法,由于其出色的安全性,被应用于很多领域当中。AES 加密算法在信息安全日益重要的今天显得尤为重要,密码学界对其软件实现进行了广泛的研究34。随着 嵌 入 式 便 携 设 备 的 信 息 安 全 需 求 增大56,传统的 AES 加密算法因为占用较多的硬件资源,不能较好地适用于嵌入式设备,故需求一种基于软件的 AES 加/解密的轻量级实现方案。Dhanda等7 在 2020 年经过调研,提出 AES 加密算法是最适合在物联网中进行轻量级密码研究的基础算法之一,轻量级 AES 加密算法被广泛探索。Gomes 等8 提出实现由流水线操作进行的组合 S 盒,增加了一定量地并行计算的进程;Alshammari 等9 依托混沌S 盒和 AES 加密算法提出偏重解决图像加密的物联网端解决方案。本文设计的嵌入式端轻量级 AES 加密短报文电子器件第 46 卷播报系统,融合了 128 位轻量级 AES 加密算法、基于 TCP/IP 的 Socket 及 时 通 讯 技 术,以 Firefly-K3399 开发板为硬件平台,基于 Linux 操作系统,完成集合时间戳的动态密钥和 32 字节的短报文内容设计。系统用于需要实时播报信息的嵌入式便携设备,以达到安全通信效果。1整体方案设计本系统应用于需实时向服务站播报短报文的移动设备,目的是安全地将短报文发送到服务站,避免明文播报可能导致的信息泄露。系统整体框架如图1 所示,硬件部分主要为嵌入式客户端和远程监控服务站,软件主要为轻量级 AES 短报文加解密部分和基于 TCP 的 Socket 通信部分。图 1系统架构图嵌入式客户端部分由 Firefly-K3399 开发板、北斗定位模组、轻量级 AES 加密算法、基于 TCP 的Socket 通信客户端等组成。此部分的主要作用为:获取当前设备的实时信息,进行报文设计,将报文进行轻量级 AES 算法加密,通过 Socket 通信客户端将密文播发至服务端。远程监控服务站部分由基于 linux 系统的服务器、轻量级 AES 解密算法、基于 TCP 的 Socket 通信服务端等组成。此部分的主要作用为:接收嵌入式客户端播发的密文,通过轻量级 AES 解密算法将密文解密为明文,进行报文分析并存储至服务器便于后续分析。2Socket 通信系统21Socket 通信简介Socket 最早是应用于 UNIX 系统的一种通信模式10,UNIX 系统下的所有操作均是面向文件的,即Socket 的通信模式也是基于文件操作的。客户端和服务端均对一个文件完成“打开读/写关闭”的操作,通过此文件传输信息,完成通信。在现有的 Socket 通信体系中,依托其使用的TCP/IP 协议,可以将网络体系结构抽象地分为四个层次:应用层、传输层、网络层和数据链路层。应用层为与用户交互的层面,Socket 应用以进程的形式存在于用户计算机内,服从调度;传输层在网络体系结构中是非常重要的层次,其主要服务对象是两个主机中的进程,为主机进程提供通信服务,利用TCP/UDP 等协议进行数据传输;网络层介于传输层和数据链路层之间,其任务是将数据传送到各自的目的地,面向传输层提供端到端的数据传送服务,直接或间接使用 Socket 端口套接字来访问 TCP/IP 协议网络栈;数据链路层可以分为两个小方面,物理层和数据层,物理层的主要功能是利用传输介质为数据层提供物理连接的保证,实现数据流的透明传输,数据层通过各种通信协议,将有差异的物理信号转换为无差别的、可传输的数据链路信号。图 2Socket 通信网络结构Socket 直译为“插座”,这个“插座”可以看做一个负责用户和服务器之间通话的电话插座,存在于两点通话的线路之间;Socket 依托 TCP/IP 通信协议,客户端所绑定的端口,可以看做“插座”上面的“插口”,每个“插口”仅限一个用户使用,一个端口在同一时间只能被一个用户占用。在服务器的监听行为开始后,一直等待客户的请求命令,用户请求本机的 IP 地址的端口,本机就接通用户。在工程应用中,可以抽象的将“Socket”理解为在应用层和传输层之间的一个抽象层,是一个负责数据文件的修改的“插座”或者“管道”。22Socket 通信模式Socket 通信采用的是较为常见的客户端服务端通信模式。客户端服务端模型如今在分布式计算、多端通信体系以及计算机网络中是一个常见的概念,在实际应用中有许多客户端服务端程序案例。在客户端服务端模型中,网络上个每个计算机终端或进程可以是客户端或服务端,客户端是允许用户访问和查看其数据的程序或终端,每个客户端均可与服务端进行通信和连接。Socket 的通信模式被广泛应用于各类终端之间的数据交互,其保证了服务器与不同客户端之间的稳定通信。在一般情况中,客户端作为发起通信请求的一端,服务器作为等待响应客户端请求的一端。03第 1 期刘政,代培培等:面向嵌入式设备的轻量级 AES 加密通讯系统的设计与实现服务器与客户端在通信前都会建立一个 Socket 对象,完成建立后,服务器会进入循环监听模式,等待客户端的连接请求。在服务器得到客户端的请求后,服务器对请求进行判别,是否同意连接,同意后,服务器所建立的 Socket 对象与客户端所建立的Socket 对象进行绑定,客户端对 Socket 进行更改,服务器会同步收到此更改,以达到数据交互的目的,并依据规则进行同类型回复。图 3客户端服务端体系示意3轻量化 AES 加密算法31AES 加密算法简介AES 是一种经 FIPS 批准的加密算法,可用于保护电子数据。该算法的原名为 ijndael,于 1998 年由两位比利时密码学家发明发表1,并于 2001 年在FIPS PUB 197 中对计算机安全标准进行规范。AES算法是一种标准的对称块状密码,能够使用 128、192 和 256 比特的密码密钥。AES 加密算法的加密过程和解密过程是完全对称的,加密和解密过程使用相同的密钥,是最常见的对称加密算法之一,其流程如图 4 所示。图 4AES 加密过程示意图32AES 加密过程AES 加密算法是一种分组加密算法,分组加密将明文分成多个区块,每区块占用的位数相同,每个块长度为 128 位,支持 128、192 和 256 位的密钥长度。明文首先被复制到一个四行四列的方阵,称其为状态矩阵。在添加初始轮密钥后,状态矩阵通过执行轮函数 10、12 或 14 次(分别针对 128 位、192位和 256 位密钥)进行变换,最终状态为密文。根据密钥的长度不同,加密轮数也不同,对应轮次见表 1。表 1AES 加密算法分类AES密钥长度分组长度加密轮次AES12812812810AES19219212812AES25625612814AES 的每轮加密过程包含四个变换:字节替代、行移位、列混合和轮密钥,加密过程的最后一轮不包括列混合操作。