Processing math: 9%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

SeChain: 基于国密算法的RISC-V安全启动机制设计与实现

芮志清, 梅瑶, 陈振哲, 吴敬征, 凌祥, 罗天悦, 武延军

芮志清, 梅瑶, 陈振哲, 吴敬征, 凌祥, 罗天悦, 武延军. SeChain: 基于国密算法的RISC-V安全启动机制设计与实现[J]. 计算机研究与发展, 2024, 61(6): 1458-1475. DOI: 10.7544/issn1000-1239.202440088
引用本文: 芮志清, 梅瑶, 陈振哲, 吴敬征, 凌祥, 罗天悦, 武延军. SeChain: 基于国密算法的RISC-V安全启动机制设计与实现[J]. 计算机研究与发展, 2024, 61(6): 1458-1475. DOI: 10.7544/issn1000-1239.202440088
Rui Zhiqing, Mei Yao, Chen Zhenzhe, Wu Jingzheng, Ling Xiang, Luo Tianyue, Wu Yanjun. SeChain: Design and Implementation of RISC-V Secure Boot Mechanism Based on Domestic Cryptographic Algorithms[J]. Journal of Computer Research and Development, 2024, 61(6): 1458-1475. DOI: 10.7544/issn1000-1239.202440088
Citation: Rui Zhiqing, Mei Yao, Chen Zhenzhe, Wu Jingzheng, Ling Xiang, Luo Tianyue, Wu Yanjun. SeChain: Design and Implementation of RISC-V Secure Boot Mechanism Based on Domestic Cryptographic Algorithms[J]. Journal of Computer Research and Development, 2024, 61(6): 1458-1475. DOI: 10.7544/issn1000-1239.202440088
芮志清, 梅瑶, 陈振哲, 吴敬征, 凌祥, 罗天悦, 武延军. SeChain: 基于国密算法的RISC-V安全启动机制设计与实现[J]. 计算机研究与发展, 2024, 61(6): 1458-1475. CSTR: 32373.14.issn1000-1239.202440088
引用本文: 芮志清, 梅瑶, 陈振哲, 吴敬征, 凌祥, 罗天悦, 武延军. SeChain: 基于国密算法的RISC-V安全启动机制设计与实现[J]. 计算机研究与发展, 2024, 61(6): 1458-1475. CSTR: 32373.14.issn1000-1239.202440088
Rui Zhiqing, Mei Yao, Chen Zhenzhe, Wu Jingzheng, Ling Xiang, Luo Tianyue, Wu Yanjun. SeChain: Design and Implementation of RISC-V Secure Boot Mechanism Based on Domestic Cryptographic Algorithms[J]. Journal of Computer Research and Development, 2024, 61(6): 1458-1475. CSTR: 32373.14.issn1000-1239.202440088
Citation: Rui Zhiqing, Mei Yao, Chen Zhenzhe, Wu Jingzheng, Ling Xiang, Luo Tianyue, Wu Yanjun. SeChain: Design and Implementation of RISC-V Secure Boot Mechanism Based on Domestic Cryptographic Algorithms[J]. Journal of Computer Research and Development, 2024, 61(6): 1458-1475. CSTR: 32373.14.issn1000-1239.202440088

SeChain: 基于国密算法的RISC-V安全启动机制设计与实现

基金项目: 中国科学院战略性先导科技专项资助(XDA0320401);本论文得到了源图重大基础设施的支持
详细信息
    作者简介:

    芮志清: 1997年生. 博士研究生. 主要研究方向为系统安全、物联网安全、软件供应链安全

    梅瑶: 2000年生. 硕士. 主要研究方向为信道编码、软件安全

    陈振哲: 1998年生. 博士研究生. 主要研究方向为物理不可克隆函数、网络安全

    吴敬征: 1982年生. 博士,研究员,博士生导师. CCF 高级会员. 主要研究方向为系统安全、漏洞挖掘、操作系统安全

    凌祥: 1992年生. 博士. CCF 会员. 主要研究方向为软件安全、人工智能安全

    罗天悦: 1990年生. 工程师. 主要研究方向为操作系统安全分析、代码漏洞挖掘、人工智能安全

    武延军: 1979年生. 博士,研究员,博士生导师. CCF 杰出会员. 主要研究方向为操作系统、机器学习系统软件、系统安全

    通讯作者:

    吴敬征(jingzheng08@iscas.ac.cn

  • 中图分类号: TP391

SeChain: Design and Implementation of RISC-V Secure Boot Mechanism Based on Domestic Cryptographic Algorithms

Funds: This work was supported by the Strategic Priority Research Program of the Chinese Academy of Sciences (XDA0320401) and the YuanTu Large Research Infrastructure.
More Information
    Author Bio:

    Rui Zhiqing: born in 1997. PhD candidate. His main research interests include system security. Internet of things security, and software supply chain security

    Mei Yao: born in 2000. Master. Her main research interests include channel codes and software security

    Chen Zhenzhe: born in 1998. PhD candidate. His main research interests include physical unclonable functions and network security

    Wu Jingzheng: born in 1982. PhD, professor, professor supervisor. Senior member of CCF. His main research interests include system security, vulnerability mining, and operating system security

    Ling Xiang: born in 1992. PhD. Member of CCF. His main research interests include software security and AI security

    Luo Tianyue: born in 1990. Engineer. His main research interests include operating system security analysis, code vulnerability mining, and AI security

    Wu Yanjun: born in 1979. PhD, professor, PhD supervisor. Distinguished member of CCF. His main research interests include operating systems, machine learning system software, and system security

  • 摘要:

    开源RISC-V指令集为我国建立自主可控物联网生态提供了重大机遇. 然而,物联网设备通常缺乏硬件加固措施,容易遭受物理级的固件篡改攻击,因此保障固件完整性以提高设备安全性至关重要. 为此,已有基于安全启动技术的初步探索,但仍存在3个问题:1)传统软件信任根难以保证物理级可靠性;2)主流硬件级安全启动技术被国际芯片厂商掌握,技术未公开且不支持国密算法,无法保证安全自主可控;3)已有基于RISC-V CPU的安全启动研究缺乏对上层固件的校验机制. 为解决上述3个问题,首次设计并实现基于国密SM9算法的RISC-V安全启动机制——SeChain. 具体而言:1)在RISC-V SoC内部增加了签名计算单元(signature calculation unit,SCU),实现密钥对生成与签名;2)增加了密钥验证单元(key verification unit,KVU),实现验证算法的片内执行及固件完整性验证;3)设计实现基于验证引导的多级安全启动机制,从不可篡改的硬件信任根出发,逐级完成引导程序的完整性校验. 基于上述设计,SeChain实现了信任根的不可篡改和安全可信,构造了一个可信的安全启动链,基于国密SM9算法为设备的安全启动和可信执行提供可靠保障. 为了验证SeChain的有效性、高效性和可靠性,基于VexRiscv CPU在FPGA 硬件平台完成了SeChain仿真验证实验. 实验结果表明,SeChain能够有效抵御各类固件篡改攻击,并能对抗信任根攻击,且平均额外时间开销不超过6.47 s. SeChain适用于资源受限的IoT设备,在满足安全可信启动的同时,能为国产RISC-V生态的安全自主可控提供有力保障.

    Abstract:

    The open-source RISC-V instruction set architecture (ISA) provides a significant opportunity for China to establish an independent and controllable IoT ecosystem. However, IoT devices often lack hardware protections and are vulnerable to physical-level firmware tampering attacks. Therefore, ensuring firmware integrity to improve device security is crucial. Previous researches have focused on secure boot techniques, but several challenges remain: 1) The traditional software-level trusted root can be physically tampered, making it difficult to ensure the reliability of the trusted root; 2) Mainstream hardware-level secure boot technology is controlled by international chip manufacturers, the specific implementation method is not publicly available, and does not support domestic cryptographic algorithms, making it impossible to ensure security independence and controllability for China; 3) Existing research on secure boot mechanisms based on RISC-V CPUs can verify the credibility of executable code but lacks a mechanism for verifying the integrity of upper-level firmware. To solve these challenges, we design and implement SeChain, a RISC-V secure boot mechanism based on the Chinese domestic cryptographic algorithm SM9. Specifically: 1) A signature calculation unit (SCU) is added inside the RISC-V SoC to generate key pairs and signatures; 2) A key verification unit (KVU) is added to perform on-chip execution of verification algorithms and firmware integrity verification; 3) A multi-level secure boot process based on verification boot is designed and implemented, starting from an immutable hardware trust root, completing the integrity verification of the next-stage boot program step by step, and achieving secure boot. Based on this design, SeChain realizes the security and trustworthiness of the trust root in the startup phase and constructs a trusted secure boot chain based on the domestic cryptographic algorithm SM9, providing reliable protection for device secure boot and trusted execution. To verify the effectiveness, efficiency, and security against trust root attacks of SeChain, we complete SeChain simulation verification experiments based on VexRiscv CPU on FPGA hardware platform. The experimental results show that SeChain can resist various firmware tampering attacks, as well as resist trust root attacks, which has an average additional time overhead of no more than 6.47 seconds. SeChain is suitable for resource constrained IoT devices, while meeting secure and trusted boot requirements, it can provide strong protection for domestic RISC-V ecosystem security independence and controllability.

  • 车联网[1-3]作为一种多领域交叉的新兴网络,涉及信息通信、交通、汽车等领域,引起了国内外工业界与学术界的广泛关注. 蜂窝车联网(cellular vehicle-to-everything,C-V2X)技术是实现车联网中车与车(vehicle-to-vehicle,V2V)、车与基础设施(vehicle-to-roadside infrastructure,V2I)、车与网络(vehicle-to-network,V2N)以及车与人(vehicle-to-pedestrian,V2P)等全方位连接和通信的新一代信息通信技术,如图1所示,其中V2N是指车辆通过接入网或核心网与云平台连接,云平台与车辆之间进行数据交互,提供车辆所需要的各类应用服务[4],如车辆导航、车辆远程监控、紧急救援、信息娱乐服务等,而V2V通信侧重于车辆之间提供低延迟、高可靠、严时效的实时信息传输服务[5-6].

    图  1  蜂窝车联网架构
    Figure  1.  Architecture of C-V2X

    与传统的无线蜂窝网络相比,车联网具有高动态、时空关联、不确定特性以及严格的服务质量(quality of service,QoS)要求,这使得C-V2X通信面临着诸多特有的挑战. 从空间维度来看,多个用户同时存在于同一网络中,并相互竞争有限的无线通信资源, 适当协调用户的传输行为,处理随机噪声、衰落和干扰的联合影响是必要的;从时间维度来看,由于车联网的动态不确定特性,难以获得准确的信道状态信息(channel state information,CSI),需要自适应、快速准确地作出传输决策;从业务类型来看,不同类型链路需要支持不同QoS要求的应用. 因此,针对车联网动态不确定特性、业务类型的多元化以及无线通信资源稀缺的特点,研究V2N和V2V链路资源协同共享以保证C-V2X车联网业务的多指标需求和无线资源的有效利用,是当前车联网资源分配亟需解决的问题[7-8].

    鉴于上述问题,从多目标优化(multi-objective optimization,MO)的角度研究了典型多用户C-V2X通信网络的高效传输设计. 特别地,信息年龄(age of information,AoI)是一种有效的度量信息新鲜度的方法,AoI 描述了自最新状态更新被生成以来所经过的时间[9],与传统网络性能指标(如延迟、可靠性或传输速率)不同,AoI被视为一种时效性性能指标. 与现有的大多数研究工作通常仅优化单一目标不同,进一步提出了以V2V链路的AoI为目标之一的MO问题 [10]. 在动态复杂环境下,确定跨多个时隙的V2V信道和功率,以保证V2N与V2V通信的QoS要求. 主要贡献有3个方面:

    1)考虑到车联网中V2N与V2V通信的 QoS需求差异,提出了一个新的多目标优化无线资源分配(multi-objective optimization for wireless resource allocation,MO-WRA)问题,在V2N和V2V链路共存且共享频谱的复杂蜂窝车联网情况下确定信道选择和功率控制,以实现不同链路优化目标之间的权衡,同时保证V2V通信链路的AoI.

    2)由于MO-WRA问题涉及动态不确定环境下信道状态信息不准确、时间相关的非凸目标和约束以及相互影响的目标,这导致了极大的决策空间. 结合进化学习,进一步设计了基于多目标深度强化学习的V2V资源分配算法,通过训练好的神经网络模型可以得到MO-WRA问题的帕累托前沿.

    3)为了应对大规模V2V通信,加速决策网络提取关键环境状态信息,引入注意力机制以优化深度神经网络,提升神经网络训练速度,增强其实时决策能力.

    近年来,蜂窝车联网资源分配问题得到了广泛研究. 文献[11]设计了资源分配算法,该算法在传输可靠性和排队时延的约束下,使V2V链路的总吞吐量最大化. 文献[12]提出了用于V2I和V2V链路共存的网络调度和功率控制算法,以提高系统吞吐量. 文献[13]提出了一种双时间尺度资源分配算法,该算法基于大时间尺度道路交通信息减小V2V链路传输的最大时延. 文献[14]也提出了一种基于V2V和V2I通信的随机模型,该模型结合车辆移动性、信道争用和衰落的影响,提高了通信和计算的可靠性. 尽管上述资源分配策略通过有效的资源分配来提升网络性能,但它们主要关注传统性能指标,如吞吐量、可靠性和时延等,而无法准确衡量接收端的信息新鲜度.

    目前学术界提出了“信息年龄AoI”的概念[9]. AoI是一种有效度量信息新鲜度的性能指标,被定义为接收端获取的最新数据包自产生时刻到当前接收时刻所经过的时间. 通过资源分配以优化车联网中的AoI性能已成为当前的研究热点. 现有研究主要通过控制信息发送频率避免网络拥塞和降低网络传输时延以最小化系统平均AoI. 文献[15]采用李雅普诺夫(Lyapunov)优化方法设计了一种分布式年龄感知数据收集算法,该算法包括基于阈值的源车辆采样策略,可以更加及时地收集状态更新. 文献[16]结合平均场理论来分析虚拟传感器网络的网络AoI,充分考虑了车辆网络的社会特征和潜在的无线通信过程,进一步联合优化源节点处信息更新速率和传感器处的传输概率以最小化平均AoI. 文献[17]利用极值理论和Lyapunov优化方法,考虑到AoI极端事件发生概率极低的情况,提出了一种感知AoI的资源分配算法,以保证超可靠的低时延通信. 但是该算法假设每个车辆用户对中发射机和接收机之间的关联是固定的,这种假设可能会简化模型,但同时也可能忽略了车联网环境中的动态变化,从而限定了对车联网动态性的真实反映. 现有的AoI相关的研究大多采用传统的排队论建立理论模型,这种方法在处理大规模动态复杂场景存在局限. 而利用机器学习进行数据驱动建模以更准确地捕捉和模拟车联网中的动态行为,尚有很大的探索空间.

    当前研究大多基于一个理想化的假设,即能够获得全局信道状态信息,然而,在车辆高速移动的场景下,信道条件的快速变化使得获取精确的信道状态信息变得极为困难[18];此外,尽管通过传统信息论方法获得较为准确的信道状态信息[19-20],但由于计算成本高,仍然难以满足动态车联网环境对于实时应用的迫切需求. 深度强化学习(deep reinforcement learning,DRL)融合了深度学习的感知和强化学习的决策2种特性, 既可从高维原始数据中直接获取动态环境特征, 又具有传统动态规划和马尔可夫决策过程的理论保障以使得网络能够通过智能体与环境的交互来学习动态资源分配策略.

    文献[21]提出了一种基于信赖域策略优化的车联网联合频谱和功率分配算法,重点研究了系统平均AoI的最小化问题. 在参考文献[22]中,设计了基于多智能体强化学习的分布式资源分配算法,以最小化系统平均AoI. 文献[23]研究了一种考虑车辆数据包传输模式选择的资源分配问题,并将双时间尺度深度强化学习与谱聚类相结合以提高模型的鲁棒性. 文献[24]针对V2V复用V2I链路的频谱问题提出了基于深度Q网络(deep Q-network,DQN)的算法. 虽然该算法考虑了多个优化目标,但是仅考虑各目标权重参数给定的情况,实质上仍是单目标优化. 实际情况下,不同通信链路可能具有不同的传输能力和传输需求,存在多个不一致甚至冲突的优化目标. 在没有预先设定目标权重参数的情况下,对任何目标的优化往往不可避免地会以至少1个其他目标的性能下降为代价. 这种现象是多目标优化领域的典型特征,其中需要在多个通常相互冲突的目标之间寻找平衡点[10]. MO理论已应用于无线通信网络[25]、移动边缘计算系统[26]、车联网[27]. 同样是车联网场景,文献[27]提出了一种基于多目标优化理论的顺序传输决策算法,该算法采用了Lyapunov优化理论与加权切比雪夫(Chebyshev)方法,在保证不同消息的QoS的同时最大化链路的能量有效性. 针对现有文献的分析表明,MO理论与深度强化学习结合的研究工作尚未得到充分的探索.

    与已有工作不同,本文针对蜂窝车联网复杂、动态且不确定场景,进行了深入的探讨. 除了涵盖传统网络性能指标,本文还创新性地将AoI纳入优化目标,提出了多目标优化的资源分配问题,并结合多目标进化学习设计了多目标深度强化学习算法,该算法能够实时进行决策,优化V2V无线资源的分配,以满足多样化的QoS要求.

    本节所涉及的主要符号如表1所示.

    表  1  主要符号汇总
    Table  1.  Main Notations Summary
    符号 解释
    M V2N链路集合
    K V2V链路集合
    V 车辆集合
    γcm m条V2N链路的信干噪比
    gcm m条V2N链路的信道功率增益
    ˜gvk,m k条V2V链路对m条V2N链路的干扰功率增益
    Pcm m条V2N链路的传输功率
    Pvk k条V2V链路的传输功率
    ρm,k m条V2N链路和第k条V2V链路是否共用信道
    Ccm m条V2N链路的传输速率
    Cvk k条V2V链路的传输速率
    γvk k条V2V链路的信干噪比
    Ick k条V2V链路受到V2N链路的干扰
    Ivk k条V2V链路受到其他V2V链路的干扰
    gvk k条V2V链路的信道功率增益
    Btk 在时隙tk条V2V链路的剩余负载量
    Utk 在时隙tk条链路的传输延迟容限
    Ltk 在时隙tk条V2V链路的数据包延迟
    Ati,j 在时隙t车辆i发送的数据在车辆j接收处的AoI
    下载: 导出CSV 
    | 显示表格

    本文研究的网络场景如图2所示,由1个基站(base station,BS)和位于基站通信覆盖范围内的车辆组成,车辆与基站、车辆与车辆之间可以相互通信. 假设基站具有计算和缓存能力. 具体而言,车辆网络包括mmax条V2N链路,以集合 M = \{ 1,2, … ,m, … ,{m_{\max }}\} 表示V2N链路序号,以及{k_{\max }}条V2V链路,以集合K = \{ 1,2, … ,k, … ,{k_{\max }}\} 表示V2V链路序号.

    图  2  网络场景示例
    Figure  2.  An example of network scenario

    在设计的系统中,可以将BS通信范围建模为2维欧氏空间\psi ,在该范围内包含n个车辆,以集合 V = \{ 1,2, … ,n\} 表示车辆序号. 每个车辆 i \in V \{ {x_i},{y_i},{o_i}, {v_i},{V_i{\rm ^N}},{V_i{\rm ^T}},{A_i}\} 表示. 其中 {x_i} {y_i} 为欧氏空间坐标,{o_i}为车辆行驶的方向,{v_i}为车辆速度,车辆邻居集合表示为 {V_i{\rm ^N}} ,车辆i的目标通信车辆集合表示为{V_i{\rm ^T}},车辆i发送的数据在其他车辆接收处的AoI表示为{A_i} = \{ {A_{i,1}},{A_{i,2}}, … ,{A_{i,n}}\} ,用以表征车辆之间所传输信息的新鲜程度.

    假设每条V2N链路已被预先分配不同的正交子信道以消除网络中V2N链路之间的干扰,即第m条V2N链路占用第m个子信道,保证了链路之间的无干扰. 为提高频谱利用率,假设V2N子信道可以被V2V链路共享,车辆的收发机采用单天线,当第k条V2V链路共享第m条V2N链路的子信道时,这条V2V链路的接收端可能会受到来自相同子信道的其他V2V链路以及V2N链路的发射端的干扰. 因此系统中可能出现3种干扰,分别为:V2N占用的子信道对共享该子信道的V2V的干扰,简称C2V(cellular user-to-vehicle)干扰;V2V占用的子信道对使用该子信道的V2N的干扰,简称V2C(vehicle-to-cellular user)干扰;V2V占用的子信道对占用相同子信道的其他V2V用户对的干扰,简称V2V干扰.

    为了便于建模,将连续时间离散化,用t来表示离散化后的时隙,其中每个时隙的持续时间为{t_0}. 在每个时隙t,基站需要为车辆用户对分配传输信道和发射功率,传输信道集合O和发射功率集合P分别表示为O = \left\{ {{O_1},{O_2}, … ,{O_{\max }}} \right\}P = \left\{ {{P_1},{P_2}, … ,{P_{\max }}} \right\}.

    进一步地,定义g_k^{\text{v}}为第k条V2V链路的信道功率增益,g_m^{\text{c}}为第m条V2N链路的信道功率增益,\tilde g_{m,k}^{\text{c}}表示第m条V2N链路对复用该链路的第k条V2V链路的干扰功率增益;\tilde g_{k,k'}^{\text{v}}表示复用相同V2N链路的第k条V2V链路对第k'条V2V链路的干扰功率增益. 上述信道功率增益和干扰功率增益均由快衰落和慢衰落组成. 快衰落部分的主要成因是多径效应,慢衰落部分的主要成因包括路径损耗和阴影衰落.

    以第m条V2N链路的信道功率增益g_m^{\text{c}}为例,其计算公式可表示为

    g_m^{\text{c}} = h_m^{\text{c}}\alpha _m^{\text{c}}{\text{ = }}h_m^{\text{c}}{\beta _m}d_{m,{\text{B}}}^{ - \chi }, (1)

    其中h_m^{\text{c}}是快衰落部分,其服从瑞利(Rayleigh)分布,不同的信道下的快衰落是独立同分布的,\alpha _m^{\text{c}}是慢衰落部分,{\beta _m}是具有标准差\xi 的对数正态阴影衰落, {d_{m,{\text{B}}}} 是信号发射机和接收机之间的欧氏距离, \chi 是路径损耗分量的衰减指数.

    以V2N链路占用的子信道对共享该子信道的V2V链路的干扰为例,其干扰功率的计算公式可表示为

    I_k^{\text{c}} = \displaystyle\sum\limits_{m = 1}^{{m_{\max }}} {{\rho _{m,k}}P_m^{\text{c}}\tilde g_{m,k}^{\text{c}}} , (2)

    其中P_m^{\text{c}}是第m条V2N链路的发射功率,{\rho _{m,k}}表示第m条V2N链路和第k条V2V链路是否共用信道,满足式(3):

    {\rho }_{m,k}=\left\{\begin{aligned} &1,\;\; 第k条\text{V}2\text{V}链路重用第m条\text{V}2\text{N}链路的子信道, \\ &0,\;\; 其他. \end{aligned}\right. (3)

    对于第m条V2N链路而言,信干噪比\gamma _m^{\text{c}}(signal-to-interference-plus-noise ratio,SINR)可表示为

    \gamma _m^{\text{c}} = \dfrac{{P_m^{\text{c}}g_m^{\text{c}}}}{{{\sigma ^2} + \displaystyle\sum\limits_{k = 1}^{{k_{\max }}} {{\rho _{m,k}}P_k^{\text{v}}\tilde g_{k,m}^{\text{v}}} }}, (4)

    其中{\sigma ^2}表示加性高斯白噪声功率, P_m^{\text{c}} P_k^{\text{v}} 分别表示第m条V2N链路和第k条V2V链路的发射功率.

    对于第k条V2V链路,其SINR可表示为

    \gamma _k^{\text{v}} = \dfrac{{P_k^{\text{v}}{g_k}}}{{{\sigma ^2} + I_k^{\text{c}} + I_k^{\text{v}}}}. (5)

    根据上述V2N链路和V2V链路的SINR,可以得出V2V链路复用V2N链路时,第m条V2N链路的传输速率C_m^{\text{c}}和第k条V2V链路的传输速率C_k^{\text{v}}的表达式分别为

    C_m^{\text{c}} = W \times {\text {lb}}\left( {1 + \gamma _m^{\text{c}}} \right), (6)
    C_k^{\text{v}} = W \times {\text {lb}}\left( {1 + \gamma _k^{\text{v}}} \right), (7)

    其中W表示信道带宽.

    因此,第k条V2V链路的有效传输概率{p_k}

    {p_k} = Pr\left\{ {R_k^{\text{v}} \geqslant {R_{\text{T}}}} \right\} = Pr\left\{ {\dfrac{1}{{{T_{\text{d}}}}}\displaystyle\sum\limits_{t = 1}^{{T_{\text{d}}}} {C_k^{{\text{v}},t} \geqslant \dfrac{{{B_0}}}{{{U_0}}}} } \right\}, (8)

    其中R_k^{\text{v}}表示第k条V2V链路的有效传输速率,{R_{\text{T}}}表示有效传输速率阈值,C_k^{{\text{v}},t}表示在时隙tk条V2V链路传输速率,{B_0}表示数据包的大小,{U_0}表示传输时延约束,时长为{T_{\rm d}}个时隙.

    对于V2V链路而言,还需要关注其延迟性能. 假设只考虑数据包的传输延迟. 定义{U_0}为数据包生成时的延迟容限,U_k^t表示在时隙tk条V2V链路的延迟容限,更新公式为

    U_k^{t + 1} = U_k^t - {t_0}, (9)

    其中{t_0}为1个时隙的长度. 如果在时隙t的前一个时隙内,第k条V2V链路完成了数据包传输,那么该数据包的延迟L_k^t可表示为

    L_k^t{\text{ = }}{U_0} - U_k^t. (10)

    如果在时隙tU_k^t \leqslant 0,则说明该数据包的传输时间超过了延迟容限,视为传输失败,不再继续传输该数据包.

    本节介绍AoI以及V2V链路平均AoI的定义及其计算方式.

    定义B_k^t为时隙tk条V2V链路传输数据包的剩余负载量,B_k^t的更新公式为

    {B}_{k}^{t+1}=\left\{\begin{aligned} &{B}_{0},\;\;\;\;\quad\quad\quad {B}_{k}^{t} < {C}_{k}^{\text{v},t}{t}_{0},\\ &{B}_{k}^{t+1}-{C}_{k}^{\text{v},t}{t}_{0},\;\; 其他,\end{aligned} \right. (11)

    其中{B_0}为初始负载量. 若在当前时隙t内完成了数据包的传输,则在下一个时隙t + 1将该用户的负载重置为初始负载量{B_0};否则,在B_k^{t + 1}的基础上减去时隙t内传输的数据量 C_k^{{\text{v}},t}{t_0} .

    集合{A_i}表示车辆i发送的数据在其他车辆接收处的AoI,所以集合{A_i}中元素的个数即为车辆数量n,其中 {A_{i,j}} 表示V2V链路中车辆i发送的数据在车辆j接收处的AoI. A_{i,j}^t表示在时隙t车辆i发送的数据在在车辆j接收处的AoI,A_{i,j}^{t + 1}的计算如式(12)所示:

    A_{i,j}^{t + 1} = \left\{ {\begin{aligned} & L_{i,j}^{t + 1}, \;\;\;\quad B_{i,j}^t \leqslant C_{i,j}^{{\text{v}},t}{t_0},\;\;d_{i,j}^{t + 1} \leqslant {d_{\text{c}}}, \\ & A_{i,j}^t + {t_0}, \;\; B_{i,j}^t > C_{i,j}^{{\text{v}},t}{t_0},\;\;d_{i,j}^{t + 1} \leqslant {d_{\text{c}}}, \\ & 0, \;\;\;\quad\quad d_{i,j}^{t + 1} > {d_{\text{c}}}, \end{aligned}} \right. (12)

    其中 L_{i,j}^{t + 1}表示数据包的延迟, d_{i,j}^{t+1} 表示车辆i和车辆j之间的欧氏距离,{d_{\text{c}}}表示车辆的通信距离. 当车辆i和车辆j位于通信距离内,如果前一个时隙内有数据包传输成功, A_{i,j}^{t + 1} 为该数据包的延迟,否则A_{i,j}^{t + 1}随时隙数不断累加;当车辆i和车辆j位于通信距离外,t = 0.

    V2V链路平均AoI可表示为

    {{\bar A}^t} = \dfrac{1}{{cnt}}\displaystyle\sum\limits_{i = 1}^n {\displaystyle\sum\limits_{\begin{subarray}{l} j = 1 \\ j \ne i \end{subarray}} ^n {\left( {A_{i,j}^t + A_{j,i}^t} \right)} } , (13)

    其中 cnt 表示AoI非0值的个数,可由式(14)计算得到:

    cnt = \displaystyle\sum\limits_{i = 1}^n {\displaystyle\sum\limits_{j = 1}^n {\alpha _{i,j}^t} } , (14)

    其中\alpha _{i,j}^t \in \left\{ {0,1} \right\}表示车辆i和车辆j是否位于通信距离内,若 d_{i,j}^{t + 1} \leqslant {d_{\text{c}}} ,则\alpha _{i,j}^t = 1,否则\alpha _{i,j}^t = 0.

    本节提出多目标优化的无线资源分配MO-WRA问题,基站根据车辆传输的状态信息,给该车辆分配信道和发射功率,以实现优化目标,如式(15)所示:

    \left\{\begin{aligned} & \mathop {{\text{maximize }}}\limits_{\left\{ {P_k^{\rm v},\;{\rho _{m,k}}} \right\}} \left( {\displaystyle\sum\limits_{t = 1}^\infty {{V^t}} ,\displaystyle\sum\limits_{t = 1}^\infty {{Y^t}} ,\displaystyle\sum\limits_{t = 1}^\infty {Z_k^t} ,\displaystyle\sum\limits_{t = 1}^\infty {{S^t}} } \right) \\ & {\text{s.t.}} \left\{\begin{aligned} &{{\text{C}}_{\text{1}}}:L_k^t \leqslant {U_0},\forall k \in K,\forall t \in {\mathbb{N}_ + }; \\ & {{\text{C}}_{\text{2}}}:{p_0} \leqslant {p_k},\forall k \in K; \\ & {{\text{C}}_3}:P_k^{\rm v} \in P,\forall k \in K; \\ & {{\text{C}}_4}:{\rho _{m,k}} \in \left\{ {0,1} \right\},\forall m \in M,\forall k \in K. \end{aligned}\right. \end{aligned} \right. (15)

    约束{{\rm C}_1}表示V2V链路延迟约束;约束{\rm C_2}表示V2V链路的有效传输概率约束;约束{\rm C_3}表示V2V链路发射功率约束;约束{\rm C_4}表示V2V链路是否复用V2N链路子信道.

    式(15)中 P_k^{\rm v},{\rho _{m,k}} 分别表示第k条V2V链路的发射功率和频谱分配. 针对优化目标中的V2N链路传输速率、V2V链路传输速率、V2V链路延迟以及V2V链路平均AoI这4个指标,分别定义{V^t}为时隙t的V2N链路传输速率效用函数,{Y^t}为时隙t的V2V链路传输速率效用函数, Z_k^t 为时隙t的第k条V2V链路的延迟效用函数,S_k^t为时隙t的第k条V2V链路的平均AoI效用函数. {V^t}, {Y^t},Z_k^t,{S^t_k}分别表示为

    {V^t} {\buildrel \Delta \over = } \displaystyle\sum\limits_{m = 1}^{{m_{\max }}} {\dfrac{{C_m^{{\text{c}},t} - C_{\min }^{\text{c}}}}{{C_{\max }^{\text{c}} - C_{\min }^{\text{c}}}}} , (16)
    {Y^t} {\buildrel \Delta \over = } \displaystyle\sum\limits_{k = 1}^{{k_{\max }}} {\dfrac{{C_k^{{\text{v}},t} - C_{\min }^{\text{v}}}}{{C_{\max }^{\text{v}} - C_{\min }^{\text{v}}}}} , (17)
    Z_k^t {\buildrel \Delta \over = } \exp \left( { - L_k^t} \right), (18)
    S_k^t {\buildrel \Delta \over = } \exp \left( { - \left( {{{\bar A}^t} - {{\bar A}^{t - 1}}} \right)} \right). (19)

    针对多目标优化的无线资源分配MO-WRA问题,本节进一步设计了基于注意力机制的多目标近端策略优化算法(multi-objective proximal policy optimization algorithm based on attention mechanism,MOPPO-AM),如3.1节所述,该算法包含2个阶段. 在第1阶段,将MO-WRA问题划分为N个单目标优化的子问题,并将该子问题表述为马尔可夫决策过程,如3.2节所述. 通过基于注意力机制的近端策略优化算法(proximal policy optimization algorithm based on attention mechanism,PPO-AM)进行训练,使用的神经网络模型如3.3节所述. 将所有训练好的子问题神经网络模型集作为第2阶段的初始种群,如3.4节所述. 在第2阶段,使用进化学习找到多目标主问题的帕累托前沿,如3.5节所述.

    MOPPO-AM算法训练过程如算法1所示,该算法通过近端策略优化(proximal policy optimization,PPO)[28]算法来训练基于卷积块注意力模块(convolutional block attention module,CBAM)[29-30]的模型. 然后,将训练好的子问题模型集作为进化学习的初始种群. 进化学习使用近端变异[31]产生后代,基于非支配排序遗传算法Ⅱ(nondominated sorting genetic algorithm Ⅱ,NSGA-Ⅱ)[32]的非支配水平和拥挤距离排序选择模型,最终得到多目标优化问题的一组非支配解,也称为帕累托前沿.

    算法1. MOPPO-AM算法.

    输入:子问题模型集 \varPi = \left\{ {{\pi _1},{\pi _2}, … ,{\pi _N}} \right\} ,权重向量集合 \varLambda = \left\{ {{{\boldsymbol \lambda} _1},{{\boldsymbol \lambda} _2}, … ,{{\boldsymbol \lambda} _N}} \right\} ,进化学习中的最大迭代次数{I_{\max }},权重向量个数为N

    输出:优化后的模型集 {\varPi ^ * } = \left\{ {\pi _1^ * ,\pi _2^ * , … ,\pi _N^ * } \right\} .

    ① 随机初始化 \varPi 中的模型参数;

    ② for i = 1,2, … ,N do

    ③ 使用PPO-AM算法训练策略 {\pi _i} (3.4节);

    ④ end for

    ⑤ 使用PPO-AM算法输出的策略作为进化学习 的初始种群;

    ⑥ for i = 1,2, … ,{I_{\max }} do

    ⑦ 使用进化学习进化子问题模型(3.5节);

    ⑧ end for

    ⑨ return {\varPi ^ * } = \left\{ {\pi _1^ * ,\pi _2^ * , … ,\pi _N^ * } \right\} .

    单目标优化子问题表述为马尔可夫决策过程,通常由如下所示的五元组来表征:

    (S,A,R,\gamma ,p) , (20)

    其中S是状态空间,A是动作空间,R是奖励函数,\gamma \in \left( {0,1} \right)为折扣因子,其体现了智能体对即时奖励和未来奖励的权衡,转移概率p是智能体执行某个动作后从一个状态转移到下一个状态的概率.

    状态 s_k^t \in S 表示在时隙t的第k条链路的状态,状态总共包含3类信息. 其中:第1类信息为整体的信道和干扰信息,包含V2V链路的信道信息{G^t}、V2N链路的信道信息{H^t}、前一个时隙的干扰功率信息 {I^{t - 1}} ,以及前一个时隙邻居车辆选择的信道信息N_k^{t - 1};第2类信息为与资源分配相关的数据包状态信息,包含待发送的信息的剩余负载 B_k^t 以及延迟容限U_k^t;第3类信息是V2V链路关联的AoI A_k^t . 综上所述,s_k^t表达式为

    s_k^t{\text{ = }}\left\{ {{G^t},{H^t},{I^{t - 1}},N_k^{t - 1},O_k^t,U_k^t,A_k^t} \right\}. (21)

    动作a_k^t \in A 包含信道选择O_k^c和发射功率选择P_k^c 2个维度.

    a_k^t \in \left\{ {1,2, … ,3 \times \left| O \right|} \right\}. (22)

    第1个维度信道数量 \left| O \right| 是有限的,第2个维度发射功率包含3个等级,因此动作空间大小为3 \times \left| O \right|. 在具体的实现过程中,使用 \left[ {1,3 \times \left| O \right|} \right] 范围内的整数对信道进行编号. 对于具体的动作a_k^t,使用a_k^t\% \left| O \right|表示选择的信道编号,使用 \left\lfloor {{{a_k^t} / {\left| O \right|}}} \right\rfloor 表示选择的发射功率在发射功率列表中的序号.

    奖励函数 R\left( {s_k^t,a_k^t} \right) 表示在状态s_k^t且采取动作a_k^t的情况下,即时奖励的期望值. 在时隙t的第k条链路的即时奖励r_k^t的设计为

    r_k^t = {\lambda _V}{V^t} + {\lambda _Y}{Y^t} + {\lambda _Z}Z_k^t + {\lambda _S}{S^t}. (23)

    在奖励函数中,使用链路传输速率作为正向奖励,以此衡量当前决策对其余链路的干扰影响程度. V2V链路延迟计算由式(10)给出. 对于V2V链路平均AoI,将其进行差分处理,即将相邻时隙V2V链路平均AoI的变化量 {\bar A^t} - {\bar A^{t - 1}} 作为惩罚项参与奖励函数,由式(19)给出. 通过差分处理,可以减少即时奖励的方差,从而提高训练的稳定性. 与此同时,差分处理实际上将本工作的优化目标从直接最小化V2V链路平均AoI转换为最小化平均AoI的增长,这种转换可以更好地引导智能体的训练过程.

    为了提升算法实时决策能力,算法所采用的神经网络模型引入注意力机制,这有利于网络提取重要的状态信息. CBAM具有空间和通道注意力,可以关注关键特征,忽略无用特征,使网络更加灵活地适应不同任务和场景,以实现更迅速、更灵活的决策. 卷积神经网络生成特征图之后,CBAM通过2个独立的注意力机制,分别从通道和空间维度对特征图进行加权,以实现自适应特征强化. 这个轻量级的通用模块可以集成到各种卷积神经网络中进行端到端训练,如图3所示.

    图  3  PPO-AM框架
    Figure  3.  Framework of PPO-AM

    给定输入特征图{\boldsymbol{F}},通道注意力模块推断通道注意力向量,衡量每个通道的重要性. 空间注意力模块推导出3维空间注意力地图,帮助模型更好地理解和利用输入中的空间信息,从而提高了网络的性能和效率. 加权后的特征图为

    {\boldsymbol{F'}} = {M_{\text{c}}}\left( {\boldsymbol{F}} \right) \otimes {\boldsymbol{F}}, (24)
    {\boldsymbol{F''}} = {M_{\text{s}}}\left( {{\boldsymbol{F'}}} \right) \otimes {\boldsymbol{F'}}, (25)

    其中 {M_{\text{c}}} {M_{\text{s}}} 分别表示基于通道的和基于空间的注意力, \otimes 表示逐元素乘法, {\boldsymbol{F'}} {\boldsymbol{F''}} 分别表示进行了通道注意力和空间注意力后的输出特征图. 通道注意力模块关注输入数据中有意义的内容,表示为

    {M_{\text{c}}}\left( {\boldsymbol{F}} \right) = \sigma \left( {MLP\left( {avgpool\left( {\boldsymbol{F}} \right)} \right) + MLP\left( {maxpool\left( {\boldsymbol{F}} \right)} \right)} \right), (26)

    其中 \sigma (\cdot ) 表示Sigmoid函数, maxpool(\cdot ) 表示最大池化, avgpool(\cdot ) 表示平均池化, MLP(\cdot ) 表示多层感知器.

    空间注意力模块关注输入数据中更有意义的位置,是对通道注意力的补充,表示为

    {M_{\text{s}}}\left( {\boldsymbol{F}} \right) = \sigma \left( {conv\left( {\left[ {avgpool\left( {\boldsymbol{F}} \right);maxpool\left( {\boldsymbol{F}} \right)} \right]} \right)} \right), (27)

    其中 conv(\cdot ) 表示3维卷积层.

    在第1阶段,利用PPO-AM算法训练单目标子问题模型. PPO-AM是一种在线深度强化学习算法. 在线学习意味着智能体通过与环境的交互更新策略,而不是像批量学习那样积累一些经验,然后进行一次性的更新. 更新策略的过程是连续进行的,智能体通过不断地与环境交互和从经验池中获得轨迹信息以逐步地改进其策略. 在PPO-AM算法的每次迭代中,基站作为智能体,具有计算和缓存能力,能够使用当前的策略与环境交互,收集经验数据. 然后,利用这些数据,不断逼近状态价值函数和动作价值函数以寻找最优的资源分配策略,如图3所示.

    PPO-AM算法是基于策略优化的PPO算法实现的. 其中PPO算法是一种基于策略优化的深度强化学习算法,是在Actor-Critic框架的基础上发展起来的,主要用于训练智能体在环境中采取最优动作策略. 2个策略网络和1个价值网络组成了PPO算法,2个策略网络即新策略和旧策略,比较新策略和旧策略之间的差异,并根据这种差异来确定策略参数的更新方向,这有助于限制策略更新的大小,维持训练的稳定性. PPO算法旨在最大化策略的累积奖励,如式(28)所示,该算法引入状态价值函数、动作价值函数和优势函数更新Actor网络和Critic网络,以找到最优任务选择策略.

    \begin{split} & J({\boldsymbol \theta} ) = \\ & {E_t}\left[ {\min \left( {\dfrac{{{\pi _{\boldsymbol \theta} }({a_t}|{s_t})}}{{{\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t})}}{{\hat A}_t},clip\left( {\dfrac{{{\pi _{\boldsymbol \theta} }({a_t}|{s_t})}}{{{\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t})}},1 - {\boldsymbol \varepsilon} ,1 + {\boldsymbol \varepsilon} } \right){{\hat A}_t}} \right)} \right],\\ \end{split} (28)

    其中J({\boldsymbol \theta} )是目标函数,表示期望累计奖励. {\pi _{\boldsymbol \theta} }({a_t}|{s_t}) 是在状态{s_t}下采取动作{a_t}的策略函数. {\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t}) 是旧策略函数,即在更新前的策略. {\hat A_t} 是优势函数,表示在状态{s_t}下采取动作{a_t}的优势. clip函数确保新策略和旧策略之间的比值在预定义的范围\left[ {1 - { \varepsilon} ,1 + { \varepsilon} } \right]内. 这有助于防止策略更新过大,从而提高训练的稳定性, { \varepsilon} 是用于限制策略更新幅度的超参数.

    状态价值函数是指在状态{s_t}下,遵循策略 {\pi _{\boldsymbol \theta} } 能够获得的期望奖励,如式(29)所示:

    V_{{\pi _{\boldsymbol \theta} }}^{\boldsymbol \phi} \left( {{s_t}} \right) = {E_{{\pi _{\boldsymbol \theta} }}}\left[ {\displaystyle\sum\limits_{i = 0}^\infty {{\gamma ^i}{r_{t + i + 1}}|s = {s_t}} } \right], (29)

    其中 {r_{t + i + 1}} = \displaystyle\sum\limits_{k = 1}^{{k_{\max }}} {r_k^{t + i + 1}} . \gamma 是折扣因子,用于计算累计奖励,将未来的奖励进行折现. 折扣因子决定了未来奖励的重要性,较小的折扣因子会降低对未来奖励的重视,使智能体更倾向于采取即时奖励更高的动作.

    动作价值函数是指在状态{s_t}下,执行动作{a_t}之后,遵循策略 {\pi _{\boldsymbol \theta} } 能够获得的期望奖励,如式(30)所示:

    {Q_{{\pi _{\boldsymbol \theta} }}}\left( {{s_t},{a_t}} \right) = {E_{{\pi _{\boldsymbol \theta} }}}\left[ {\displaystyle\sum\limits_{i = 0}^\infty {{\gamma ^i}} {r_{t + i + 1}}|s = {s_t},a = {a_t}} \right]. (30)

    优势函数是指当前状态下采取某个动作相对于采取平均策略的优势,计算方式如式(31)所示:

    {\hat A_t} = {Q_{{\pi _{\boldsymbol \theta} }}}\left( {{s_t},{a_t}} \right) - V_{{\pi _{\boldsymbol \theta} }}^{\boldsymbol \phi} \left( {{s_t}} \right). (31)

    优势函数 {\hat A_t} 越大,意味着当前动作相对于平均水平更好. 在训练过程中,智能体倾向于更频繁地选择具有更大优势的动作. 这可能表明在当前状态下采取该动作更有可能获得更高的奖励或更好的长期奖励.

    网络参数{\boldsymbol \theta} 通过式(32)进行更新.

    {\boldsymbol \theta} = {{\boldsymbol \theta} _{{\text{old}}}} + \delta {{\hat {\boldsymbol g}}_{\text{actor}}}, (32)

    其中{\boldsymbol \theta} {{\boldsymbol \theta} _{{\text{old}}}}分别代表新旧策略的参数. \delta 代表参数学习率,表示参数更新的快慢. {\hat {\boldsymbol g}_{\text{actor}}} 是策略梯度,用以更新参数的依据,如式(33)所示:

    \begin{split} {{\hat {\boldsymbol g}}_{\text{actor}}} = & {\nabla _{\boldsymbol \theta} }{L^{clip}}({\boldsymbol \theta} ) = \\ & {E_t}\Bigg[ {\nabla _{\boldsymbol \theta} }\Bigg( \min \Bigg( \dfrac{{{\pi _{\boldsymbol \theta} }({a_t}|{s_t})}}{{{\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t})}}{{\hat A}_t},clip\Bigg( \dfrac{{{\pi _{\boldsymbol \theta} }({a_t}|{s_t})}}{{{\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t})}},1 -\\ &{\varepsilon} ,1 + {\varepsilon} \Bigg){{\hat A}_t} \Bigg) \Bigg) \Bigg]. \\[-1pt] \end{split} (33)

    函数clip的作用是将新旧策略的比值限制在区间\left[ {1 - { \varepsilon} ,1 + { \varepsilon} } \right]内,避免了更新步长过大引起的不稳定性,增强了算法的收敛性. 具体地,当优势函数{\hat A_t}为正值时,需要增大新旧策略的比值,而比值大于1 + { \varepsilon} 时,将不提供额外的激励;当优势函数{\hat A_t}为负值时,需要减少新旧策略的比值,而比值小于1 - { \varepsilon} 时,将不再提供额外的激励.

    对于Critic网络,网络参数{\boldsymbol \phi} 通过式(34)更新:

    {\boldsymbol \phi} ' = {\boldsymbol \phi} - \eta {\hat g_{\text{critic}}}, (34)

    其中{\boldsymbol \phi} {\boldsymbol \phi} '分别代表Critic网络更新前后的网络参数,\eta 代表参数学习率. 关于策略梯度 {\hat {\boldsymbol g}_{\text{critic}}} ,利用均方误差进行计算,如式(35)所示:

    \begin{split} {{\hat {\boldsymbol g}}_{\text{critic}}} =& {\nabla _{\boldsymbol \phi} }{L^{\rm BL}}\left( {\boldsymbol \phi} \right) = \\ & {E_t}{\nabla _{\boldsymbol \phi} }\left( {{{\left( {\displaystyle\sum\limits_{i = 0}^\infty {{\gamma ^i}} {r_{t + i + 1}} - {V_{\boldsymbol \phi} }\left( {{s_t}} \right)} \right)}^2}} \right) = \\ & {E_t}\left[ {2\left( {\displaystyle\sum\limits_{i = 0}^\infty {{\gamma ^i}} {r_{t + i + 1}} - {V_{\boldsymbol \phi} }\left( {{s_t}} \right)} \right){\nabla _{\boldsymbol \phi} }{V_{\boldsymbol \phi} }\left( {{s_t}} \right)} \right]. \end{split} (35)

    PPO-AM算法伪代码如下所示:

    算法2. PPO-AM算法.

    输入:车辆状态和信道状态的集合 S ,Actor网络参数{\boldsymbol \theta} ,Critic网络参数{\boldsymbol \phi} ,最大训练次数J,每局的时隙数 T ,V2V链路数{k_{\max }},奖励折扣因子\gamma ,学习率\alpha ,经验回放缓冲区D,经验回放缓冲区大小 {D_{\max }} ,网络参数更新次数 {L_{{\text{epoch}}}}

    输出:训练完成的策略{\pi _{\boldsymbol \theta} }.

    ① 随机初始化Actor网络及其参数、Critic网络 及其参数;

    ② for j = 1 to J do

    ③ 初始化环境;

    ④  {\pi _{{\boldsymbol \theta} _{\text{old}}}} \leftarrow {\pi _{\boldsymbol \theta} }

    ⑤ for t = 1 to T do

    ⑥  for k = 1 to {k_{\max }} do

    ⑦   s_k^t \leftarrow getState(k)

    ⑧   通过Actor网络得到策略{\pi _{\boldsymbol \theta} },进而得到 动作a_k^t

    ⑨   当前V2V链路执行动作a_k^t,计算奖励r_k^t

    ⑩   将数据 \left\{ {s_k^t,a_k^t,r_k^t,s_k^{t{\text{ + 1}}}} \right\} 存入D

    ⑪  end for

    ⑫ end for

    ⑬ if \left| D \right| = {D_{\max }}

    ⑭  for l to {L_{{\text{epoch}}}}

    ⑮   计算{Q_{{\pi _{\boldsymbol \theta} }}};/*式(30)*/

    ⑯   计算 V_{{\pi _{\boldsymbol \theta} }}^{\boldsymbol \phi} ({s_t}) {\hat A_t} ;/*式(29)(31)*/

    ⑰   更新Actor网络参数{\boldsymbol \theta} 和Critic网络参 数{\boldsymbol \phi} ;/*式(32)~(35)*/

    ⑱  end for

    ⑲ end if

    ⑳ end for

    在第2阶段,首先将第1阶段训练的子问题模型集作为初始种群. 在每一代,每个单独的模型通过近端变异生成1个后代,称为子模型,该后代采用SM-G-SUM(safe mutation through gradients-summed gradient variant)变异算子[33]将缩放的高斯扰动添加到模型参数 {\boldsymbol \theta} 中,如式(36)所示:

    {\boldsymbol \theta} ' = {\boldsymbol \theta} + \dfrac{x}{{\boldsymbol \tau } },x \sim {{\mathcal{N}}}\left( {0,\mu } \right) , (36)

    其中 \mu 是变异幅度超参数,{\boldsymbol \tau } 是子模型网络参数的敏感度向量[33].

    具体来说,子问题模型集\varPi 作为初始种群输入到算法3中,\varPi 中每个模型作为进化学习中的“个体”. 然后,计算种群中个体的适应度向量(目标向量),并用适应度向量标记个体. 最后,执行基于多目标的选择. 具体地,采用NSGA-Ⅱ根据适应度向量的非支配水平和拥挤距离对所有个体进行排序,并保留N个个体. 算法3是进化学习的伪代码. 基于进化学习的训练算法过程如图4所示.

    图  4  基于进化学习的训练算法概述
    Figure  4.  Overview of training algorithm based on evolutionary learning

    算法3. 进化学习.

    输入:子问题模型集 \varPi = \left\{ {{\pi _1},{\pi _2}, … ,{\pi _N}} \right\} ,其中模型 {\pi _i} 有参数 {{\boldsymbol \theta} _i} ,训练批大小为 {B_{\rm e}} ,最大迭代次数为 {I_{\max }} ,权重向量个数为N,非支配策略集合EP

    输出:优化后的模型集 {\varPi ^ * } = \left\{ {\pi _1^ * ,\pi _2^ * , … ,\pi _N^ * } \right\} 和非支配策略集合EP.

    ① 初始化非支配策略集合 EP = \varnothing

    ② for i = 1,2, … ,N do

    ③  {{\boldsymbol{f}}_{{\pi _i}}} = Evaluate\left( {{\pi _i}} \right)

    ④ end for

    ⑤ for g = 1,2, … ,{I_{\max }} do

    ⑥ for i = 1,2, … ,N do

    ⑦  对训练数据随机采样 {G_j} = RandomInstance(\; ) ,\forall j \in \left\{ {1,2, … ,{B_{\rm e}}} \right\}

    ⑧  计算敏感度向量{\boldsymbol \tau}

    ⑨   {{\boldsymbol \theta} '_i} = {{\boldsymbol \theta} _i} + \dfrac{x}{{\boldsymbol \tau} }

    ⑩  产生带有参数{{\boldsymbol \theta} '_i} 的后代{\pi'_i} ,并且 {{\boldsymbol f}_{{\pi_i'}}} = Evaluate\left( {{\pi_i'}} \right)

    ⑪ end for

    ⑫ 根据适应度向量的非支配水平和拥挤距离 对个体进行排序,并选择N个个体作为 下一代;

    ⑬ 根据 {\pi '_i} 更新非支配策略集合EP

    ⑭ end for

    ⑮ return {\varPi ^ * } = \left\{ {\pi _1^ * ,\pi _2^ * , … ,\pi _N^ * } \right\} .

    本节包括实验环境设置、实验对比算法、实验评估指标和实验结果分析.

    实验基于TensorFlow 2.7框架和Python 3.9环境,采用NVIDIA GeForce GTX 1650 GPU和Intel Core i5-10400 CPU. 仿真实验中的系统道路模型参考3GPP TR 36.885[34]的城市案例设计,如表2所示. 环境中相关参数的设定参考3GPP TR36.885中曼哈顿参数,如表3所示. 参考该模型,设计得到的道路模型如图5所示.

    表  2  道路模型参数
    Table  2.  Road Model Parameters
    参数 城市案例
    车道数 每个方向2个车道,每条街道共计4个车道
    车辆数量 60
    车道宽度/m 3.5
    道路网格大小 433\; {\text{m}} \times 250 \;{\text{m}}
    仿真区域大小 1\;299\;{\text{m}} \times 750\;{\text{m}}
    平均车速/(m·s−1 15
    车辆直行概率 0.5
    车辆左转概率 0.25
    车辆右转概率 0.25
    下载: 导出CSV 
    | 显示表格
    表  3  仿真系统参数
    Table  3.  Simulation System Parameters
    参数 取值
    载波频率/GHz 2
    信道带宽/MHz 1.5
    V2V链路负载/Kb 30
    快衰落模型 Rayleigh衰落
    阴影衰落标准差/dB 3
    阴影衰落分布 对数正态分布
    基站天线高度/m 25
    基站天线增益/dBi 8
    基站接收噪声/dB 5
    车辆天线高度/m 1.5
    车辆天线增益/dBi 3
    车辆接收噪声/dB 9
    V2N传输功率/dBm 23,10,5
    下载: 导出CSV 
    | 显示表格
    图  5  系统道路模型示意图
    Figure  5.  Schematic diagram of system road model

    本文设置如下的对比算法以验证所提出算法的性能:

    1)随机化资源分配算法RP(random policy). 在每个时隙,智能体为车辆用户对随机分配传输信道和发射功率.

    2)低延时高可靠性优化的深度强化学习资源分配算法LHP(low-latency high-reliability policy)[24]. 该算法利用深度强化学习DQN算法,在V2V与V2N共享资源的前提下,通过资源分配实现 V2V链路的延迟、可靠性以及V2N链路传输速率的优化.

    3)基于AoI的低延时高可靠性优化的深度强化学习资源分配算法LHP-A(low-latency high-reliability policy based on AoI). 该算法是在文献[24]原有目标基础上添加了AoI的优化目标,使得智能体在决策时额外考虑了链路传输信息的时效性.

    4)动态邻近感知资源分配算法DPP(dynamic proximity-aware policy)[35]. 该算法利用多对1匹配博弈算法实现V2V链路资源分配以最小化V2V链路的延迟.

    仿真实验所采用的性能指标如下所示:

    1)V2N传输速率{C^{\rm c}}. V2N传输速率描述了V2N链路在单位时间内传输的数据量. V2N传输速率越高,表示系统在单位时间内能够传输信息就越多. 这一指标可由式(6)计算得到.

    2)V2V链路平均AoI {\bar A^t} . V2V链路平均AoI表征车辆获取数据的时效性. V2V链路平均AoI值越低,表示链路传输的信息的时效性越强,即传输的信息越新鲜. 这一指标可由式(13)计算得到.

    3)V2V链路传输成功率{p_{{\text{success}}}}. V2V链路传输成功率是指V2V链路传输过程中,满足延迟约束的数据包所占的比例. V2V链路数据包传输的成功率越高,表示传输越可靠、满足延迟约束的效果越好. 计算方式如式(37)所示:

    {p_{{\text{success}}}} = \dfrac{1}{{{k_{\max }}}}\displaystyle\sum\limits_{k = 1}^{{k_{\max }}} {{p_k}} . (37)

    4)决策延迟时间{t_{\text{d}}}[36]. 决策延迟时间是衡量智能体响应速度的性能指标,是指从发起请求到决策所经历的平均等待时间,计算方式如式(38)所示:

    {t_{\text{d}}} = \dfrac{1}{{{n_{\text{d}}}}}\displaystyle\sum\limits_{i = 1}^{{n_{\text{d}}}} {\left( {t_i^{\text{s}} - t_i^{\text{e}}} \right)} , (38)

    其中 t_i^{\text{s}} t_i^{\text{e}} 分表代表第i次决策的发起时刻和决策时刻, {n_{\text{d}}} 表示决策的总次数.

    1)收敛性

    图6展示了子问题各算法训练过程. 随着训练轮数的增加,各算法的累计奖励均逐渐增大. 其中LHP-A算法在400轮左右达到收敛,PPO算法在350轮左右达到收敛,PPO-AM算法在200轮左右就已收敛,较前二者分别提速约50.0%和42.9%,收敛后的平均累计奖励分别优化约5.82%和19.41%. 这主要归功于PPO-AM算法引入了注意力机制,该机制使得模型在训练过程中能够更加精准地聚焦重要的状态信息,从而加速了对环境关键特征的识别与学习. 注意力机制有效地促进了模型快速捕捉到对累积奖励优化有正面影响的特征,进而加快了整个算法的收敛性.

    图  6  子问题训练过程
    Figure  6.  Training process for the subproblem

    2)不同车辆数量下各算法性能对比

    车辆数量设置为20,40,60,80,100,120,基于表2表3中的参数,以探究在不同交通密度条件下各算法的性能表现,如图7~9所示.

    图  7  不同车辆数量下V2V 链路平均 AoI 对比
    Figure  7.  {\bar A^t} comparison of V2V links with different number of vehicles
    图  8  不同车辆数量下V2V 链路传输成功率对比
    Figure  8.  {p_{{\text{success}}}} comparison of V2V links with different number of vehicles

    图7展示了不同车辆数量下各算法的V2V链路平均AoI. 就整体而言,AoI会随着车辆数量的增多呈上升趋势,原因是车辆数量增大会不可避免地导致资源块的竞争变得更加激烈,数据包的传输时间变长,导致链路的AoI会变大. 就不同车辆数量而言,当车辆数量为20辆时,3种算法的AoI性能差别不大,这是因为车辆数量较少时,资源竞争并不明显. 当车辆数为40辆时,资源竞争开始显现,导致RP算法的性能显著下降,其AoI开始急剧上升. 相比之下,LHP-A算法虽然也表现出AoI的增长,但其增长速度相对较慢,而MOPPO-AM算法显示出在资源受限环境下更为稳健的性能. 当车辆数量继续增加时,MOPPO-AM算法仍处于较优水平,AoI增长速度最小. 就平均性能而言,MOPPO-AM算法的AoI较RP算法减少54.4%,较LHP-A算法减少12%,说明MOPPO-AM算法在满足V2V链路传输信息时效性方面存在优势.

    图8展示了不同车辆数量下各算法的V2V链路传输成功率. 随着车辆数量的增加,各算法的V2V链路传输成功率均出现了不同程度的下降趋势,MOPPO-AM算法下降趋势与其他算法相比较为平稳,但在车辆数为80时,成功率出现了较大幅度的下降,原因是车辆数量过多导致不能满足时间约束的数据传输增多. 车辆数量从40直到更多,MOPPO-AM算法相较对比算法的优势更为明显,与LHP-A算法相比,V2V链路传输成功率平均高出2.1个百分点,最多可达5.1个百分点. 此外,与LHP算法和DPP算法相比,MOPPO-AM的V2V链路传输成功率分别高出3.1个百分点和4.6个百分点. 这表明在对比算法中,MOPPO-AM算法在V2V链路传输成功率方面处于较优水平,在保证V2V链路传输稳定性方面存在优势.

    图9展示了不同车辆数量下各算法的V2N链路传输速率. 在不同车辆数量的环境模拟中,MOPPO-AM算法均处于较优水平:较RP算法平均提高约103%,较DPP算法提高约16.7%,较LHP算法和LHP-A算法分别提高了12.1%和16.4%.

    图  9  不同车辆数量下V2N 链路传输速率对比
    Figure  9.  {C^{\rm c}}comparison of V2N links with different number of vehicles

    综合图7~9可知,在环境车辆数量不断增加的情况下,MOPPO-AM算法可以将车辆数量对性能数据的影响降到最低,由此说明MOPPO-AM算法能够更好地适应不同车辆数量的交通场景.

    图10展示了不同车辆数量下各算法决策延迟时间. 由图10(a)可知,在决策延迟时间方面,传统算法DPP,RP和深度强化学习算法之间存在明显差异. 随着车辆数量的不断增加,DPP算法的决策延迟时间呈现出显著增长的趋势,而深度强化学习算法的决策延迟时间则表现出较好的稳定性. 这表明深度强化学习算法在处理大规模动态场景,尤其是车辆密集的交通环境时,相较于DPP算法具有明显的优势. 深度强化学习算法能够更加迅速且准确地做出决策,这不仅提升了决策的响应速度,也有助于实现高效、智能的交通管理. 图10(b)展示的是除DPP算法以外的其他算法决策延迟时间在不同车辆数量下的变化曲线. RP算法所做出的决策都是随机的,无需与环境交互,故决策时间最短. 其他3种算法的决策延迟时间均呈现稳定态势. LHP算法和LHP-A算法的决策延迟时间稳定在8.53 ms和9.57 ms左右;MOPPO-AM算法的决策延迟时间稳定在7.63 ms左右,在对比算法中处于最优水平,较LHP算法和LHP-A算法决策时间分别缩短10.6%和20.3%左右.

    图  10  不同车辆数量下决策延迟时间对比
    Figure  10.  {t_{\text{d}}} comparison with different number of vehicles

    3)不同链路负载下各算法性能对比

    V2V链路负载设置为26 Kb,28 Kb,30 Kb,32 Kb,34 Kb,基于表2表3中的参数评估在不同链路负载下各算法的性能表现,如图11~13所示.

    图  11  不同链路负载下V2V 链路平均 AoI 对比
    Figure  11.  {\bar A^t} comparison of V2V links with different link loads
    图  12  不同链路负载下V2V 链路传输成功率对比
    Figure  12.  {p_{{\text{success}}}} comparison of V2V links with different link loads

    随着V2V链路负载持续增加,各算法的性能指标均呈现出变差的趋势,这是因为V2V链路负载的增大意味着链路传输任务消耗的资源也随之增多,在相同传输速度情况下,完成V2V链路传输任务所耗费的时间更多. 此外,V2V链路负载的增加还加剧了链路间对有限资源的竞争,导致性能指标的进一步恶化.

    图11展示了不同链路负载下各算法的V2V链路平均AoI.2种深度强化学习算法在不同的V2V链路负载的情况下均优于RP算法. 在链路负载为26 Kb和28 Kb时,MOPPO-AM算法和LHP-A算法的AoI性能接近. 但是,随着V2V链路负载不断增加,LHP-A算法的AoI有缓慢增大的趋势,而MOPPO-AM算法的AoI始终维持在0.12左右. 在AoI方面,MOPPO-AM算法较LHP-A算法平均提高15%,较RP算法平均提高58%.

    图12展示了不同链路负载下各算法V2V链路传输成功率. 随着V2V链路负载的不断增加,5种算法的V2V链路传输成功率均呈现下降趋势. 其中RP算法的表现最差,平均V2V链路传输成功率只有0.83;LHP-A算法、LHP算法和DPP算法次优,分别为0.94,0.93,0.91; MOPPO-AM算法的表现最好,V2V链路传输成功率的下降速度最慢,平均水平可以达到0.96.

    图13展示了不同链路负载下各算法V2N链路传输速率. 随着V2V链路负载的不断增加,V2V链路所分配的资源逐渐增多,这加剧了对V2N链路的干扰,使得V2N链路传输速率也随之降低. 但MOPPO-AM算法具有更高的V2N链路传输速率,平均值为140.16 Mbps,较次优的LHP算法平均提高12.79%.

    图  13  不同链路负载下V2N 链路传输速率对比
    Figure  13.  {C^{\rm c}}comparison of V2N links with different link loads

    综合图11~13可知,在V2V链路负载逐渐增加的情况下,MOPPO-AM算法仍具有较低的AoI、较高的V2V链路传输成功率和V2N链路传输速率,说明MOPPO-AM算法可以更好地完成多种负载大小的传输任务,且在完成传输任务的同时最小化对V2N链路的干扰.

    4)不同信道带宽下各算法性能对比

    信道带宽设置为1.00 MHz,1.25 MHz,1.50 MHz,1.75 MHz,2.00 MHz,基于表2表3中的参数,以评估在不同信道带宽下各算法的性能表现,如图14~16所示.

    图  14  不同信道带宽下V2V 链路平均 AoI 对比
    Figure  14.  {\bar A^t} comparison of V2V links with different channel bandwidths
    图  15  不同信道带宽下V2V 链路传输成功率对比
    Figure  15.  {p_{{\text{success}}}}comparison of V2V links with different channel bandwidths

    随着信道带宽的不断增加,各算法的性能指标呈现出稳步提升的趋势,这是因为信道带宽的增加意味着可分配的传输资源变多,在V2V链路负载和延迟约束保持不变的情况下,V2V链路可分配到的传输资源变多,链路传输速率会有所提升,完成传输任务所需要的时间相应变短,所以性能数据呈现好转趋势.

    图14展示了不同信道带宽下各算法的V2V链路平均AoI. 虽然MOPPO-AM算法的AoI下降趋势不比RP算法的明显,但MOPPO-AM算法的AoI在各种信道带宽的情况下都处于最优水平,平均值为0.122,MOPPO-AM算法较RP算法平均减少58.83%,较LHP-A算法平均减少17.72%.

    图15展示了不同信道带宽下各算法的V2V链路传输成功率. 随着信道带宽的不断增加,各算法的V2V链路传输成功率均出现了不同程度的上升,其中LHP算法的涨幅最大,上涨了13.91个百分点,MOPPO-AM算法涨幅最小,上涨5.44个百分点. 但MOPPO-AM算法平均表现仍处于较优水平,平均V2V链路传输成功率为96.16%,较涨幅最大的LHP平均提高7.5个百分点.

    图16展示了不同信道带宽下各算法的V2N链路传输速率. 在信道带宽较低的情况下,其他对比算法的V2N链路传输速率普遍偏低,但MOPPO-AM算法仍具有较高且稳定的V2N链路传输速率. MOPPO-AM算法在所有信道带宽下V2N链路传输速率的平均值为139.01 Mbps,在所有对比算法中处于最优水平,较RP算法平均提高118.89%,较DPP算法平均提高21.57%,较LHP算法和LHP-A算法分别平均提高13.2%和11.4%.

    图  16  不同信道带宽下V2N 链路传输速率对比
    Figure  16.  {C^{\rm c}}comparison of V2N links with different channel bandwidths

    综合图14~16可知,在信道带宽较高、可分配的传输资源较充足的情况下,各算法的性能指标之间的差距不大. 在传输资源相对匮乏的情况下,MOPPO-AM算法的性能也出现了下降的趋势,与其他算法相比,MOPPO-AM算法性能下降幅度较小且比较稳定,在信道带宽为1.00 MHz和1.25 MHz时尤为明显. 由此可见,MOPPO-AM算法对信道带宽的变化具有更强的鲁棒性和适应性.

    综上所述,实验结果充分证明了MOPPO-AM算法在学习能力和环境感知能力方面的出色表现. 该算法不仅能够有效地处理多目标优化问题,还能通过注意力机制处理与任务最相关的状态信息,从而在资源受限或竞争激烈的环境中展现显著优势,并得出3个结论:

    1)注意力机制加速收敛. 基于注意力机制的PPO-AM算法能够更精准地聚焦关键状态特征,减少模型处理不相关信息的复杂度,提高数据利用效率,从而显著加快了收敛速度,有效缩短了训练周期. 同时,PPO通过截断函数clip限制策略更新的幅度,保证了训练过程的稳定性.

    2)多目标优化均衡模型训练效果. 相较于传统的单目标优化算法,基于进化学习的多目标优化MOPPO-AM算法在多个关键性能指标上展现出显著优势,包括V2N链路传输速率、V2V链路传输速率、V2V链路延迟、V2V链路平均AoI以及决策延迟时间. 这是因为MOPPO-AM算法可以均衡V2V链路和V2N链路不同的优化目标,能够更好地满足车联网场景中业务类型的多样化需求.

    3)大规模动态复杂场景的高效决策能力. MOPPO-AM算法结合了多目标优化和深度强化学习的优势,显著提升了智能体的探索能力和快速响应能力. 特别是在通信资源竞争加剧的情况下,MOPPO-AM算法依然展现出良好的鲁棒性和适应性,确保了决策过程的高效性和稳定性.

    针对蜂窝车联网环境中V2V 链路和 V2N 链路共享无线资源以满足不同性能指标的问题,建立了多目标优化无线资源分配数学规划模型,设计了一种基于进化学习的多目标深度强化学习决策框架求解该问题. 仿真结果表明,该算法保证了智能体在与环境不断交互的过程中快速学习V2V无线资源分配策略,有效解决了动态不确定蜂窝车联网环境下的资源分配问题,旨在实现优化目标V2V链路的性能(即信息年龄、延迟以及传输速率)和V2N链路传输速率之间的权衡. 研究成果不仅提高了蜂窝车联网管控的自动化与自主化效率,而且简化了管控流程与降低人员管理成本,也适用于其他大规模动态复杂网络部署与管理. 后续将研究基于多目标联邦强化学习算法,以解决车联网数据隐私保护场景下的无线资源分配问题.

    作者贡献声明:李可负责指导选题、问题建模、算法设计、撰写与修改论文;马赛负责搜集文献资料、实现论文算法、整理实验数据、撰写论文;戴朋林负责指导实验实施、修改论文;任婧和范平志负责网络架构设计和修改论文.

    MSI leak: tips for users, organizations, and developers. https://www.kaspersky.com/blog/msi-firmware-keys-leak/48300/
  • 图  1   安全启动信任链示意图

    Figure  1.   The illustration of trust chain during secure boot

    图  2   SeChain上SoC结构

    Figure  2.   The SoC structure of SeChain

    图  3   SM9算法签名过程

    Figure  3.   The signature process of SM9 algorithm

    图  4   SM9算法验证签名过程

    Figure  4.   The verification signature process of SM9 algorithm

    图  5   SeChain中的签名生成流程

    Figure  5.   The signature generation process in SeChain

    图  6   SeChain中的签名验证流程

    Figure  6.   The signature verification process in SeChain

    图  7   SeChain硬件开销图

    Figure  7.   Hardware overhead diagram of SeChain

    图  8   启动时间增长图对比

    Figure  8.   Comparison of starting time growth diagram

    表  1   基于SM9算法的SeChain安全启动验证实验结果

    Table  1   Experimental Results of SeChain Secure Boot Verification Based on SM9 Algorithm

    攻击位置攻击方式攻击检测结果攻击阻断时间/s无攻击时验证成功时间/s
    boot.c修改调用boot helper函数时传入的地址验证失败,无法启动3.13.9
    将boot helper传入地址硬编码为0x00000验证失败,无法启动3.23.9
    修改boot helper中所有地址为固定值验证失败,无法启动3.24.0
    修改seiral boot 启动时的printf函数验证失败,无法启动4.13.8
    在任意位置插入新的printf调用验证失败,无法启动4.43.9
    删除serial boot的printf函数验证失败,无法启动2.93.7
    main.c修改头部关于litex logo的printf语句验证失败,无法启动3.03.8
    大面积删除不影响编译完整性的printf验证失败,无法启动3.33.9
    修改调用readline函数时传入的参数验证失败,无法启动3.34.0
    删除对readline函数的调用验证失败,无法启动3.83.8
    删除除serial boot外的boot方式验证失败,无法启动3.63.9
    删除将是否进入console的判断语句验证失败,无法启动3.03.7
    删除boot_sequence函数的调用验证失败,无法启动3.83.8
    readline.c修改输入对照哈希表验证失败,无法启动4.33.9
    修改readline中对command的处理方式验证失败,无法启动3.53.9
    增加一个新的command处理结果验证失败,无法启动3.93.8
    cmd_bios.c任意位置增加一行for空循环语句验证失败,无法启动4.23.9
    添加printf函数调用, 打印某不被支持的cmd验证失败,无法启动3.33.7
    删除所有printf函数使无法展示可用cmd验证失败,无法启动2.93.8
    删除获得help cmd后的printf函数验证失败,无法启动3.63.9
    下载: 导出CSV

    表  2   信任根攻击实验结果

    Table  2   Experimental Results of Trust Root Attack

    攻击实验 信任链 信任根位置 攻击方式 攻击检测结果 平均时间/s
    4a 篡改boot.c中的printf函数 无验证,攻击成功 3.3
    4b 软件 闪存 攻击者窃取设备ID,篡改boot.c中的printf函数,使用攻击者
    私钥伪造签名,并修改闪存中的公钥为对应的攻击者公钥
    验证通过,设备启动异常,攻击成功 7.3
    4c 硬件 写入ROM 攻击者窃取设备ID,篡改boot.c中的printf函数,使用攻击者
    私钥伪造签名,并修改闪存中的公钥为对应的攻击者公钥
    验证失败,停止启动,攻击失败 4.3
    4d 硬件 写入ROM 攻击者预先知晓用户私钥与系统参数,篡改boot.c中的printf
    函数后,使用用户私钥伪造签名
    验证通过,设备启动异常,攻击成功 6.8
    下载: 导出CSV
  • [1]

    GSMA. The Mobile Economy [R/OL]. London: GSMA Head Office. 2023 [2023-09-30]. https://www.gsma.com/solutions-and-impact/connectivity-for-good/mobile-economy/wp-content/uploads/2023/03/270223-The-Mobile-Economy-2023.pdf

    [2] 何小庆. RISC-V处理器嵌入式开发概述[J]. 单片机与嵌入式系统应用,2020,20(11):1−6

    He Xiaoqing. RISC-V processor embedded development overview[J]. Microcontrollers & Embedded Systems, 2020, 20(11): 1−6 (in Chinese)

    [3]

    T-Head. T-Head Semiconductor Co. , Ltd[EB/OL]. 2023[2023-08-31]. https://github.com/T-head-Semi.html

    [4]

    EulixOS. EulixOS[EB/OL]. (2022-12-28) [2023-09-15]. https://eulixos.com

    [5]

    OWASP Foundation. OWASP Internet of things[EB/OL]. 2023[2023-08-11]. https://owasp.org/www-project-internet-of-things/

    [6] 杨宏,王晓春,林冠辰,等. 可信物联网技术与标准化研究[J]. 信息技术与标准化,2023,65(5):10−15, 20

    Yang Hong, Wang Xiaochun, Lin Guanchen, et al. Research on trusted Internet of things technology and standardization[J]. Information Technology & Standardization, 2023, 65(5): 10−15, 20 (in Chinese)

    [7] 赵波,费永康,向騻,等. 嵌入式系统的安全启动机制研究与实现[J]. 计算机工程与应用,2014,50(10):72−77

    Zhao Bo, Fei Yongkang, Xiang Shuang, et al. Research and implementation of secure boot mechanism for embedded systems[J]. Computer Engineering and Applications, 2014, 50(10): 72−77 (in Chinese)

    [8] 马洪峰. 基于硬件信任根的物联网设备安全启动设计[J]. 单片机与嵌入式系统应用,2021,21(10):16−17, 21

    Ma Hongfeng. Secure boot design of IoT devices based on hardware root of trust[J]. Microcontrollers & Embedded Systems, 2021, 21(10): 16−17, 21 (in Chinese)

    [9]

    UEFI Forum, inc. Unified extensible firmware interface specification[EB/OL]. (2022-08-29)[2023-08-10]. https://uefi.org/sites/default/files/resources/UEFI_Spec_2_10_Aug29.pdf

    [10]

    Naked Security. Serious Security: TPM 2.0 vulns–is your super-secure data at risk[EB/OL]. (2023-03-07)[2023-9-10]. https://nakedsecurity.sophos.com/2023/03/07/serious-security-tpm-2-0-vulns-is-your-super-secure-data-at-risk

    [11]

    Intel. Intel Hardware Shield Below-the-OS Security: Information technology cybersecurity white paper[EB/OL]. 2022[2023-04-15]. https://www.intel.com/content/dam/www/central-libraries/us/en/documents/below-the-os-security-white-paper.pdf

    [12]

    Jawad H Y, Wong M M, Pudi V, et al. Lightweight secure-boot architecture for RISC-V system-on-chip[C]//Proc of the 20th Int Symp on Quality Electronic Design (ISQED). Piscataway, NJ: IEEE, 2019: 216−223

    [13]

    SpinalHDL. VexRiscv[EB/OL]. (2021-11-16)[2024-03-15]. https://github.com/SpinalHDL/VexRiscv

    [14]

    Rui Zhiqing, Mei Yao. SeChain[EB/OL]. (2024-03-10)[2024-03-15]. https://github.com/m2kar/SeChain

    [15] 陈士伟. 杂凑函数的攻击方法研究[D]. 郑州:解放军信息工程大学,2012

    Chen Shiwei. Research on the attack methods of the Hash functions[D]. Zhengzhou: Information Engineering University of the People’s Liberation Army, 2012

    [16]

    Rivest R. The MD5 message-digest algorithm: RFC1321[R/OL]. 1992[2024-03-15]. https://www.rfc-editor.org/info/rfc1321

    [17]

    Stevens M, Bursztein E, Karpman P, et al. The first collision for full SHA-1[C]//Proc of the 37th Annual Int Cryptology Conf. Berlin: Springer, 2017: 570−596

    [18]

    Dworkin M J. SHA-3 standard: Permutation-based Hash and extendable-output functions: NIST FIPS 202[R/OL]. Gaithersburg, Maryland: National Institute of Standardsand Technology, 2015[2024-03-15]. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf

    [19] 王小云,于红波. SM3密码杂凑算法[J]. 信息安全研究,2016,2(11):983−994

    Wang Xiaoyun, Yu Hongbo. SM3 cryptographic Hash algorithm[J]. Journal of Information Security Research, 2016, 2(11): 983−994 (in Chinese)

    [20]

    Wang Xiaoyun, Yin Y L, Yu Hongbo. Finding collisions in the full SHA-1[C] //Proc of the 25th Annual Int Cryptology Conf. Berlin: Springer, 2005: 17−36

    [21]

    Wang Xiaoyun, Yu Hongbo. How to break MD5 and other Hash functions[C]//Proc of Annual Int conf on the Theory and Applications of Cryptographic Techniques. Berlin: Springer, 2005: 19−35

    [22]

    Wikipedia. Public-key cryptography[EB/OL]. (2024-02-22)[2024-03-15]. https://en.wikipedia.org/w/index.php?title=Public-key_cryptography&oldid=1209561246#Algorithms

    [23]

    Diffie W, Hellman M E. New directions in cryptography[J]. IEEE Transactions on Information Theory, 1976, 22(6): 644−654 doi: 10.1109/TIT.1976.1055638

    [24] 沈昌祥,张焕国,冯登国,等. 信息安全综述[J]. 中国科学:信息科学,2007,37(2):129−150

    Shen Changxiang, Zhang Huanguo, Feng Dengguo, et al. Summary of information security[J]. SCIENTIA SINICA Informationis, 2007, 37(2): 129−150 (in Chinese)

    [25]

    Hales T C. The NSA back door to NIST[J]. Notices of the American Mathematical Society, 2013, 61(2): 190−192

    [26]

    Schwennesen B, Bray H. Elliptic curve cryptography and government backdoors[EB/OL]. (2016-04-24)[2024-03-15]. https://blkcipher.pl/assets/pdfs/BAS_Paper3_EllipticCurveCryptography.pdf

    [27] 董一潇,全建斌,王明儒,等. 国密SM9算法在物联网安全领域的应用研究[J]. 电信工程技术与标准化,2022,35(9):22−27, 32

    Dong Yixiao, Quan Jianbin, Wang Mingru, et al. Research on the application of SM9 algorithm in the field of Internet of things security[J]. Telecom Engineering Technics and Standardization, 2022, 35(9): 22−27, 32 (in Chinese)

    [28] 宋维平. 基于公开密钥密码体制的数字签名[J]. 中国教育信息化:高教职教,2007,162(15):59−60

    Song Weiping. Digital signatures based on public-key cryptography[J]. Chinese Journal of ICT in Education. 2007, 162(15): 59−60 (in Chinese)

    [29] 殷明. 基于标识的密码算法 SM9 研究综述[J]. 信息技术与信息化,2020,242(5):88−93 doi: 10.3969/j.issn.1672-9528.2020.05.026

    Yin Ming. A review of identity-based cryptographic algorithms SM9[J]. Information Technology and Informatization, 2020, 242(5): 88−93 (in Chinese) doi: 10.3969/j.issn.1672-9528.2020.05.026

    [30] 袁峰,程朝辉. SM9 标识密码算法综述[J]. 信息安全研究,2016,2(11):1008−1027

    Yuan Feng, Cheng Zhaohui. Overview of SM9 identity cryptography algorithms[J]. Journal of Information Security Research, 2016, 2(11): 1008−1027 (in Chinese)

    [31] 边杏宾,马俊明,胡志勇,等. SM9在泛在物联网中的应用研究[J]. 信息技术与网络安全,2022,41(2):27−32

    Bian Xingbin, Ma Junming, Hu Zhiyong, et al. Application research of SM9 in ubiquitous Internet of things[J]. Information Technology & Network Security, 2022, 41(2): 27−32 (in Chinese)

    [32] 杨国强,孔凡玉,徐秋亮. 一种基于FPGA的SM9快速实现方法[J]. 山东大学学报 (理学版),2020,55(9):54−61

    Yang Guoqiang, Kong Fanyu, Xu Qiuliang. A fast implementation method for SM9 based on FPGA[J]. Journal of Shandong University (Natural Science), 2020, 55(9): 54−61 (in Chinese)

    [33]

    Avizienis A, Laprie J C, Randell B, et al. Basic concepts and taxonomy of dependable and secure computing[J]. IEEE Transactions on Dependable and Secure Computing, 2004, 1(1): 11−33 doi: 10.1109/TDSC.2004.2

    [34]

    Tomlinson A. Smart Cards, Tokens, Security and Applications, Introduction to the TPM[M]. Berlin: Springer, 2017

    [35] 沈昌祥,张焕国,王怀民,等. 可信计算的研究与发展[J]. 中国科学:信息科学,2010,40(2):139−166

    Shen Changxiang, Zhang Huanguo, Wang Huaimin, et al. Research and development in trustworthy computing[J]. SCIENTIA SINICA Informationis, 2010, 40((2): ): 139−166 (in Chinese)

    [36]

    Lee R B. Processor architecture for trustworthy computers[C] //Proc of Asia-Pacific Conf on Advances in Computer Systems Architecture. Berlin: Springer, 2005: 1−2

    [37]

    Parno B, Mccune J M, Perrig A. Bootstrapping trust in commodity-computers[C] //Proc of IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2010: 414−429

    [38] 谭良,徐志伟. 基于可信计算平台的信任链传递研究进展[J]. 计算机科学,2008,35(10):15−18 doi: 10.3969/j.issn.1002-137X.2008.10.003

    Tan Liang, Xu Zhiwei. Research progress on trust chain transmission based on trusted computing platform[J]. Computer Science, 2008, 35(10): 15−18 (in Chinese) doi: 10.3969/j.issn.1002-137X.2008.10.003

    [39]

    Dave A, Banerjee N, Patel C. Care: Lightweight attack resilient secure boot architecture with onboard recovery for RISC-V based SoC[C] //Proc of the 22nd Int Symp on Quality Electronic Design (ISQED). Piscataway, NJ: IEEE, 2021: 516−521

    [40]

    Ling Zhen, Yan Huaiyu, Shao Xinhui, et al. Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT nodes[J/OL]. Journal of Systems Architecture, 2021[2024-03-15]. https://www.sciencedirect.com/science/article/abs/pii/S1383762121001661

    [41]

    Raj H, Saroiu S, Wolman A, et al. fTPM: A software-only implementation of a TPM chip[C/OL] //Proc of the 25th USENIX Security Symp. Berkeley, CA: USENIX Association , 2016: 841−856

    [42] OpenAnolis. 商用密码技术最佳实践白皮书 [EB/OL]. 2022[2023-08-30]. https://openanolis.github.io/whitebook-shangmi/secure_boot.html

    OpenAnolis. Commercial Cryptography Best Practices White Paper [EB/OL]. 2022[2023-08-30]. https://openanolis.github.io/whitebook-shangmi/secure_boot.html (in Chinese)

    [43] 刘畅,武延军,吴敬征,等. RISC-V指令集架构研究综述[J]. 软件学报,2021,32(12):3992−4024

    Liu Chang, Wu Yanjun, Wu Jingzheng, et al. Survey on RISC-V system architecture research[J]. Journal of Software, 2021, 32(12): 3992−4024 (in Chinese)

    [44]

    Menon A, Murugan S, Rebeiro C, et al. Shakti-T: A RISC-V processor with light weight security extensions[C]//Proc of the Hardware and Architectural Support for Security and Privacy. 2017[2024-03-15]. https://dl.acm.org/doi/10.1145/3092627.3092629

    [45]

    Wong M M, Haj-Yahya J, Chattopadhyay A. SMARTS: Secure memory assurance of RISC-V trusted SoC[C] //Proc of the 7th Int Workshop on Hardware and Architectural Support for Security and Privacy. Los Angeles, CA: HASP, 2018: 1−8

    [46]

    Lee D, Kohlbrenner D, Shinde S, et al. Keystone: An open framework for architecting TEEs [EB/OL]. (2022-04-02) [2024-03-15]. http://docs.keystone-enclave.org/en/latest/

    [47]

    Lebedev I, Hogan K, Devadas S. Secure boot and remote attestation in the Sanctum processor[C] //Proc of the 31st Computer Security Foundations Symp(CSF). Piscataway, NJ: IEEE, 2018: 46−60

    [48]

    Nikiema P R, Palumbo A, Aasma A, et al. Towards dependable RISC-V cores for edge computing devices[C]//Proc of the 29th IEEE Int Symp on On-Line Testing and Robust System Design (IOLTS). Piscataway, NJ: IEEE, 2023: 1−7

    [49] 张雨昕,芮志清,李威威,等. 基于 RISC-V 协处理器的内存溢出防御机制[J]. 计算机系统应用,2021,30(11):11–19

    Zhang Yuxin, Rui Zhiqing, Li Weiwei, et al. PEC-V: Memory overflow defense mechanism based on RISC-V coprocessor[J]. Computer Systems & Applications, 2021, 30(11): 11−19 (in Chinese)

    [50]

    Ahn N Y, Lee D H. Forensic issues and techniques to improve security in SSD with flex capacity feature[J]. IEEE Access, 2021, 9: 167067−167075

    [51] 朱留富,李继国,赖建昌,等. 基于商密SM9的属性基在线/离线签名方案[J]. 计算机研究与发展,2023,60(2):362−370

    Zhu Liufu, Li Jiguo, Lai Jianchang, et al. Attribute-based online/offline signature scheme based on SM9[J]. Journal of Computer Research and Development, 2023, 60(2): 362−370 (in Chinese)

  • 期刊类型引用(16)

    1. 戎珂,施新伟,吕若明. “i7算”赋能AI产业生态可持续发展. 科学学研究. 2025(01): 197-204 . 百度学术
    2. 张浩严,吕文涛,余润泽,邓志江. 大语言模型研究现状. 无线电工程. 2025(01): 163-174 . 百度学术
    3. 李东闻,钟震宇,孙羽菲,申峻宇,马子智,于川越,张玉志. 玲珑:一个小规模的高质量中文预训练语言模型. 计算机研究与发展. 2025(03): 682-693 . 本站查看
    4. 陶江垚,奚雪峰,盛胜利,崔志明,左严. 结构化思维提示增强大语言模型推理能力综述. 计算机工程与应用. 2025(06): 64-83 . 百度学术
    5. 魏楚元,王昕,周小平,赵光哲,黄明. 大型语言模型及其在建筑行业应用研究综述. 北京建筑大学学报. 2024(02): 1-14+121 . 百度学术
    6. 庞进喜. 大模型在汽车国际化多语言处理中的应用. 中国汽车. 2024(05): 14-20 . 百度学术
    7. 王晓璐,杨云轩,谢阳斌. 创造人机对话式学习新形态——大语言模型的教育应用现状与展望. 中小学信息技术教育. 2024(05): 15-17 . 百度学术
    8. 马伟民. 自然语言大模型技术在政务服务智能客服系统建设中的应用. 信息与电脑(理论版). 2024(08): 86-88 . 百度学术
    9. 曾白凌. “被中介的真理”:Sora对媒介相合性的追问. 现代传播(中国传媒大学学报). 2024(05): 1-10 . 百度学术
    10. 童俊杰,申佳,赫罡,张奎. 运营商智算中心建设思路及方案. 邮电设计技术. 2024(09): 68-73 . 百度学术
    11. 刘同军. 生成式人工智能革新数学教学:场景与案例. 中学数学杂志. 2024(10): 1-4 . 百度学术
    12. 尹为民. 一种基于预训练模型的类增量学习近似重放方法分析. 电子技术. 2024(10): 144-145 . 百度学术
    13. 崔金满,李冬梅,田萱,孟湘皓,杨宇,崔晓晖. 提示学习研究综述. 计算机工程与应用. 2024(23): 1-27 . 百度学术
    14. 王珍珍,向巴卓玛,赵岩松,马星光. 以ChatGPT为代表的大型语言模型在医学教学中的应用. 医学教育管理. 2024(06): 692-697 . 百度学术
    15. 王琳. 大语言模型技术背景下重塑研究生论文评价与指导. 学位与研究生教育. 2024(12): 30-37 . 百度学术
    16. 朱俊仪,朱尚明. 利用检索增强生成技术开发本地知识库应用. 通信学报. 2024(S2): 242-247 . 百度学术

    其他类型引用(7)

图(8)  /  表(2)
计量
  • 文章访问数:  404
  • HTML全文浏览量:  40
  • PDF下载量:  101
  • 被引次数: 23
出版历程
  • 收稿日期:  2024-02-01
  • 修回日期:  2024-03-12
  • 网络出版日期:  2024-04-14
  • 刊出日期:  2024-05-31

目录

/

返回文章
返回