一种基于FPGA的可配置密钥SM4加解密系统的制作方法

未命名 08-02 阅读:172 评论:0

一种基于fpga的可配置密钥sm4加解密系统
技术领域
1.本发明涉及一种基于fpga的可配置密钥sm4加解密系统,属于计算机硬件技术领域。


背景技术:

2.随着大数据、人工智能和5g领域的快速发展,要求数据的通信、处理以及存储的安全性和可靠性越来越高。数据加密作为保障信息安全的常用手段,传统的方法包括软件加密或使用gpu进行加速,但是,其吞吐率低下成为数据传输的瓶颈。在新的应用场景下,例如网络流量等,开发安全加密机器还要求具备实时的加密能力。
3.国密sm4算法的密码学计算量大,限制了其在实际场景中的应用。在处理此类计算密集型任务时,往往会消耗大量的cpu和内存资源。因此,将sm4加解密计算任务转移到硬件加速器上,成为有效的解决方法。
4.fpga凭借硬件的并行性和低延时性,执行时不需要指令,不需要内存共享,打破顺序执行的限制,有效提升效率和提高性能。sm4算法结构能够与fpga器件的特点充分结合,有针对性地进行优化。并且加密过程与外部计算机隔离,具有较高的数据保护能力。


技术实现要素:

5.本发明的目的是针对现有技术存在的缺陷和不足,为了解决sm4加解密方法难以满足实际应用中对高速度、低延迟、大数量的需求,以及严重占用计算机资源、功耗高、灵活性不足等技术问题,提出一种基于fpga的可配置密钥sm4加解密系统。
6.为解决上述技术问题,本发明采用以下技术方案实现。
7.一种基于fpga的可配置密钥sm4加解密系统,包括sm4加解密算法实现模块、固定和变换密钥接口设计模块、流式数据传输架构模块三个部分。
8.所述sm4加解密算法实现模块,用于完成固定密钥和变换密钥两种模式下的加解密。该部分包括控制模块、密钥扩展模块、密钥反转模块和加密模块。控制模块根据密钥模式和加解密功能协调其他模块,保证数据处理同步和正确。密钥扩展模块实现密钥扩展算法,得到加密轮密钥。密钥反转模块对加密轮密钥进行反序变换,得到解密轮密钥。加密模块使用生成的轮密钥进行加解密算法操作。在固定密钥模式下,控制模块只启动加密模块;在变换密钥模式下,控制模块启动其他所有模块。密钥扩展模块和加密模块并行工作,实现每个原文采用不同密钥。通过密钥反转模块,实现了在加密模式与解密模式之间的随时切换。
9.优先地,密钥扩展模块和加密模块均采用流水线结构,保证加解密过程连续不中断,每个周期都能够加解密一个数据。
10.所述固定和变换密钥接口设计模块,用于连接流式数据传输架构模块和sm4加解密算法实现模块,负责启动/暂停数据传输,并根据密钥模式解析数据流,从而驱动sm4工作。
11.优选地,固定和变换密钥接口设计模块根据流式数据传输架构模块中的数据流信号来启动/暂停数据传输,同时根据流式数据传输架构模块中的控制信号来以固定或变换密钥模式解析数据流,从中提取密钥和原文,随同控制信号传递给sm4,并将sm4计算结果重新封装为数据流返回传输。固定密钥模式将数据流视为原文,并使用存储在fpga lut单元中的加密和解密轮密钥。变换密钥模式将数据流视为头部+原文组成,其中,头部由加解密功能位、密钥、原文长度和保留位组成,按照约定格式进行信息提取。
12.所述流式数据传输架构模块,用于上位机和fpga之间的数据通信。可以采用axi stream传输数据流,采用axi lite传输控制信号。其中,上位机由pcie驱动和用例程序组成。pcie驱动可以为xilinx的xdma驱动。用例程序实现数据的发送和接收,以及对sm4功能的更改。在fpga端,包括数据收发模块、缓存模块、位宽转换模块和控制信号模块。
13.优选地,数据收发模块可以基于xdma ip实现,完成pcie链路上数据包的接收和发送以及控制信号的接收。缓存模块可以基于异步fifo实现,对数据流进行缓冲以及异步时钟域的转换,缓存模块包括输入缓存模块和输出缓存模块。位宽转换模块用来对数据流进行位宽转换,包括输入位宽转换模块和输出位宽转换模块。控制信号模块根据控制信号的目的地址,将其存储到对应的寄存器中。
14.有益效果
15.1.本发明所述的sm4加解密算法基于fpga实现,采用多级流水线结构,多个模块并行工作,不仅能实现固定变换密钥模式和加密解密功能随时切换,每个原文采用不同密钥,且加解密过程连续不中断,每个周期都可以加解密一个数据。时序得到改善,可以运行在高频时钟下,达到极高的吞吐率。
16.2.本发明所述的固定和变换密钥接口设计,分别针对固定密钥和变换密钥两种模式解析和封装数据流。搭建了所述流式数据传输架构和以所述sm4加解密算法实现为代表的加速目标之间的通用沟通桥梁,给出了传输启动和暂停的机制,创新性地定义了数据流格式,保证了数据传输和处理的正确性。
17.3.本发明所述的流式数据传输架构,实现了上位机和fpga之间的数据通信。其提供了一种普适高效的pcie与fpga数据交互加速架构方案,可以快速搭建应用方案,轻松完成计算任务。采用axi stream高速流式数据传输协议,避免ddr存储过程,充分利用带宽,降低系统延迟。在传输过程中引入数据缓冲、时序和位宽转换,能够降低收发和计算部分的耦合度,保障应用的独立性。
附图说明
18.图1为本发明的总体结构示意图;图2为本发明中固定和变换密钥接口设计的架构图。
具体实施方式
19.下面结合附图和实施例对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
20.如图1所示,一种基于fpga的可配置密钥sm4加解密系统,包括sm4加解密算法实现模块、固定和变换密钥接口设计模块、流式数据传输架构模块。
21.其中,sm4加解密算法实现模块包括控制模块、密钥扩展模块、密钥反转模块和加密模块。
22.固定和变换密钥接口设计模块连接流式数据传输架构模块和sm4加解密算法实现模块,负责启动/暂停数据传输,并根据密钥模式解析数据流从而驱动sm4工作。流式数据传输架构模块实现上位机和fpga之间的数据通信。其中,上位机由pcie驱动和用例程序组成。pcie驱动为xilinx官方的xdma驱动。用例程序实现数据的发送和接收,以及对sm4功能的更改。fpga包括数据收发模块、缓存模块、位宽转换模块、控制信号模块。
23.作为本发明的一种实施方式,sm4加解密算法模块基于fpga实现,包括控制模块、密钥扩展模块、轮密钥反转模块和加密模块,实现固定密钥和变换密钥两种模式下的加解密功能。控制模块与固定和变换密钥接口设计相连,负责密钥和原文的接收和计算结果的输出,并根据所述固定和变换密钥接口设计的要求协调其他模块工作。其中,固定密钥方式只关注控制模块和加密模块,控制模块直接将固定参数加密和解密轮密钥输入给加密模块,从而进行原文的加密和解密操作。变换密钥方式则需要控制模块先将密钥传给密钥扩展模块得到加密轮密钥,再将加密轮密钥送往加密模块进行明文加密。如果是解密操作则需要将密钥扩展模块生成的加密轮密钥输入到密钥反转模块进行暂存和反序变换,从而得到解密轮密钥,然后将解密轮密钥传递到加密模块解密。最终均需将加密模块的计算结果返回给控制模块。各模块中的操作步骤符合sm4算法流程,操作包括异或、移位、置换。具体地,密钥扩展模块和加密模块均采用32级流水线架构,流水线不断流的情况下,每个周期都能加解密一个128 bit的原文。加密等待周期为34,解密等待周期为67。
24.作为本发明的一种实施方式,固定和变换密钥接口设计模块根据流式数据传输架构中的数据流信号来启动和暂停数据传输,同时根据流式数据传输架构模块中的控制信号来以固定或变换密钥模式解析axi stream总线上传输过来的数据流,从中提取密钥和原文,随同控制信号传递给sm4,并将sm4计算结果重新封装为axi stream格式进行返回传输。具体地,接口设计会根据输入位宽转换模块的数据有效信号以及输出缓存模块的溢出信号来决定是否接收数据。如果准备好数据并且输出不会导致溢出,则开始数据传输并进行格式解析。固定密钥模式将流数据视为原文,并使用存储在fpga lut单元中的加密和解密轮密钥。变换密钥模式将数据流视为头部+原文组成。头部大小为64字节,即512bit,这符合数据收发模块的数据位宽。其中,前128bit的第0比特表示模式位加密0还是解密1,其余为保留位。第二个128bit也是保留位,第三个128 bit位密钥,第四个128 bit为后续原文的长度,单位为字节。头部需要按照约定格式进行信息提取,具体地,使用计数器来判断当前读取到的128 bit数据为头部中的哪一部分,并将数据传递给sm4对应参数。
25.作为本发明的一种实施方式,流式数据传输架构模块用来实现上位机和fpga之间的数据通信。上位机和fpga之间通过pcie总线连接。上位机由pcie驱动和用例程序组成。pcie驱动为xilinx官方的xdma驱动。用例程序由c语言实现,通过读写所述pcie驱动来实现数据的发送和接收,以及sm4功能的更改。fpga端实现为传输架构的主要内容,包括数据收发模块、缓存模块、位宽转换模块、控制信号模块。数据收发模块基于xdma ip实现,完成pcie链路上数据包的接收和发送以及控制信号的接收,其数据频率为250 mhz,其中数据流
通过axi stream总线进行传输,数据宽度为512 bit,控制信号则以axi lite协议格式传输,数据宽度为1 bit。数据收发模块在数据流接口上最多提供4个读通道和4个写通道,每对读写通道都可以创建并连接其他所有模块,实现4个的传输回路。图1所示只是一个传输回路示例。相对应的,上位机可以选择不同的读写通道进行数据传输到对应回路,每个回路传输内容和速度互不影响。缓存模块基于异步fifo实现,能够对来自数据收发模块和位宽转换模块的数据流进行缓冲,并提供缓冲区溢出信号给固定和变换密钥接口设计模块。同时对数据收发模块和sm4加解密算法实现之间进行异步时钟域转换,保证sm4可以工作在任意频率,例如300 mhz。位宽转换模块用来对数据流进行位宽转换,保证固定和变换密钥接口设计模块的收发数据宽度为128 bit。控制信号模块接收所有的控制信号,并以axi interconnect ip来分发控制信号。根据控制信号的目的地址,将axi lite中携带的控制信号分别存储到对应的寄存器中,继而提供给固定和变换密钥接口设计模块。
26.上述模块之间的连接关系如下:所述流式数据传输架构模块将数据传递给所述固定和变换密钥接口设计模块,所述固定和变换密钥接口设计模块将该数据传递给所述sm4加解密算法实现模块处理并生成结果。所述sm4加解密算法实现模块将结果传递给所述固定和变换密钥接口设计模块,所述固定和变换密钥接口设计模块再将该结果传递给所述流式数据传输架构模块。
27.所述上位机模块的输出端与所述数据收发模块的pcie输入端相连,所述上位机的输入端与所述数据收发模块的pcie输出端相连。所述数据收发模块的axi lite输出端与所述控制信号模块的输入端相连。所述控制信号模块的输出端与所述固定和变换密钥接口设计模块(接口设计)的axi lite输入端相连。所述数据收发模块的axi stream输出端与所述输入缓存模块的输入端相连。所述输入缓存模块的输出端与所述输入位宽转换模块的输入端相连。所述输入位宽转换模块的输出端与所述固定和变换密钥接口设计模块的axi stream输入端相连。所述固定和变换密钥接口设计模块将数据传递给所述控制模块,所述控制模块将数据传递给所述密钥扩展模块和所述加密模块。所述密钥扩展模块将数据传递给所述密钥反转模块和所述加密模块。所述密钥反转模块将数据传递给所述加密模块。所述加密模块处理并生成结果,将结果传递给所述控制模块,所述控制模块将结果传递给所述固定和变换密钥接口设计模块。所述固定和变换密钥接口设计模块的axi stream输出端连接到所述输出位宽转换模块的输入端。所述输出位宽转换模块的输出端连接到所述输出缓存模块的输入端。所述输出缓存模块的输出端连接到所述数据收发模块的axi stream输入端。
28.本系统的实施过程包括以下步骤:步骤1:将fpga卡插到上位机的pcie插槽内。
29.步骤2:在上位机编译并加载xdma驱动。
30.步骤3:在上位机运行用例程序,创建4个发送线程不断发送数据,同时创建4个接收线程不断接收sm4加解密结果。
31.步骤3.1:上位机在发送数据之前,需要指定这次发送的密钥模式和加解密功能,具体是向xdma对应的驱动设备文件写入命令,其通过不同目标地址区分不同sm4实现,以及不同的模式和功能。
32.步骤3.2:每个发送线程打开属于自己的一个xdma驱动设备文件,即写通道,来写
入数据。
33.只需要向写通道中写入正确格式的数据并等待函数执行完成,即可将数据传到fpga。
34.步骤3.3:接收线程需要在发送线程之前启动,每个接收线程打开属于自己的一个xdma驱动设备文件,即读通道,用于读取数据。只需要向读通道中读取正确大小的数据并等待函数执行完成即可从fpga读回数据。
35.步骤4:fpga端通过数据收发模块接收上位机发送过来的数据,并将该数据发送给输入缓存模块。同时,数据收发模块接收输出缓存模块的结果并返回给上位机。
36.数据收发模块基于xdma ip模块,其数据频率为250 mhz,其中数据流通过axi stream总线进行传输,数据宽度为512 bit,控制信号则以axi lite协议格式传输,数据宽度为1 bit。并且数据收发模块设置4个读通道和4个写通道,分别对应上位机的读写通道。每对读写接口都可以创建并连接其他所有模块,所以最多可以实现4个的传输回路。图1所示只是一个传输回路示例。
37.步骤5:缓存模块基于axi4-stream data fifo ip实现,可以设置fifo的数据宽度和深度,分别为512 bit和2048。设置缓存模块左端时钟频率为250 mhz,与数据收发模块保持一致。右端时钟频率为300 mhz,与其他模块一样,这由sm4的工作频率决定。其中,输出缓存模块设置有溢出检测信号,当缓冲区的数据数量超过2000时信号拉高。输入缓存模块接收数据收发模块传输过来的数据流,并将其传递到输入位宽转换模块。输出缓存模块接收输出位宽转换模块传输过来的数据流,并将其传递到数据收发模块。
38.步骤6:输入位宽转换模块和输出位宽转换模块基于axi4-stream data width converter ip实现,可以设置输入和输出的数据宽度,即左边为512bit,与数据收发模块保持一致,右边为128bit,与接口设计保持一致。输入位宽转换模块接收输入缓存模块传输过来的数据流,并将其传递到接口设计。输出位宽转换模块接收接口设计传输过来的数据流,并将其传递到输出缓存模块。
39.步骤7:接口设计接收输入位宽转换模块传输过来的数据流,根据数据流信号来启动和暂停数据传输,并将解析后的数据传递给sm4,然后接收sm4的计算结果,并将其传递到输出位宽转换模块。
40.优选地,接口设计的内部实现如图2所示,具体如下:首先对传输开始和暂停进行判断。根据输入位宽转换模块提供的数据有效信号s_axis_tvalid以及输出缓存模块的溢出信号prog_full来决定sm4是否接收数据。如果准备好数据并且输出不会溢出,则判断sm4准备好接收的信号s_axis_tready是否为1,如果为0则设置为1表示开始数据传输,如果为1则需要将传来的数据s_axis_tdata进行后续处理。
41.步骤7.2:根据控制信号模块提供的密钥模式mk_mode,进行相应格式解析。固定密钥模式下,sm4模块的参数enable_fixed_rk直接设置为1,表示采用固定密钥加解密,同时,参数fixed_rk_en和fixed_rk_de值为对应的加解密的轮密钥。采用控制信号模块提供的加解密信号en_de_mode输入给sm4进行加密或解密操作。直接将输入位宽转换模块传来的数据s_axis_tdata赋值给sm4的原文输入ud_rdata,并设置数据有效信号ud_rde为1。在变换密钥模式下,如果count为0表示这是第一个128 bit的数据,则取第0比特作为en_de_mode的值,同时count加1。如果count为1则表示为为填充数据,count加1。如果count为2则表示
该数据为密钥,将s_axis_tdata赋值给mk_i,同时设置密钥有效信号mk_valid_i为1,最后count加1。如果count为3表示该数据指示了后续需要加解密的原文长度,将s_axis_tdata赋值给max_cnt,同时count加1。count的其他取值则直接将s_axis_tdata赋值给sm4的输入ud_rdata,设置数据有效信号ud_rde为1,count加1。同时还要将count与max_cnt进行比较,如果处理的这次数据流结束了则将count置为0。
42.步骤7.3:在封装过程中,sm4输出的加解密结果result_out和结果有效信号ready_out直接赋值给axi stream数据流中的m_axis_tdata和m_axis_tvalid。对于数据流中的信号m_axis_tlast和m_axis_tkeep,两者均由s_axis_tlast和s_axis_tkeep打拍得到,打拍延迟的时钟周期数根据en_de_mode决定。封装好的数据流将传递到输出位宽转换模块。
43.步骤7.4:如果准备好数据但是数据缓冲区将要溢出,则判断当前s_axis_tready的值,如果为0则不做操作,如果为1则设置s_axis_tready为0,进而停止后续传输。
44.步骤8:sm4中的控制模块接收接口设计传输过来的原文和密钥等信息。在固定密钥模式下,控制模块直接将加解密的轮密钥和原文发送到加密模块进行加解密,并接收加密模块的结果,然后将结果返回给接口设计。在变换密钥模式下,控制模块将密钥传递给密钥扩展模块计算加密轮密钥,将原文传递给加密模块进行加密,并接收加密模块的加解密结果。密钥扩展模块接收控制模块的密钥,生成对应的加密轮密钥,并将加密轮密钥传输给加密模块和密钥反转模块。密钥反转模块在使用解密功能时工作,用来将加密轮密钥进行暂存和反序变换,生成解密轮密钥,最终将解密轮密钥传递给加密模块进行解密。加密模块在加密模式下使用加密轮密钥加密原文,在解密模式下使用解密轮密钥解密原文,并将结果传递给控制模块。
45.在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
46.以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

技术特征:
1.一种基于fpga的可配置密钥sm4加解密系统,其特征在于,包括sm4加解密算法实现模块、固定和变换密钥接口设计模块、流式数据传输架构模块;sm4加解密算法实现模块,用于完成固定密钥和变换密钥两种模式下的加解密,基于fpga实现。sm4加解密算法实现模块由控制模块、密钥扩展模块、密钥反转模块和加密模块组成;其中,控制模块根据密钥模式和加解密功能协调其他模块,保证数据处理同步和正确;密钥扩展模块实现密钥扩展算法,得到加密轮密钥;密钥反转模块对加密轮密钥进行反序变换,得到解密轮密钥;加密模块使用生成的轮密钥进行加解密算法操作;在固定密钥模式下,控制模块只启动加密模块;在变换密钥模式下,控制模块启动其他所有模块;密钥扩展模块和加密模块并行工作,实现每个原文采用不同密钥;通过密钥反转模块,实现了在加密模式与解密模式之间的随时切换;固定和变换密钥接口设计模块,用于连接流式数据传输架构模块和sm4加解密算法实现模块,负责启动/暂停数据传输,并根据密钥模式解析数据流,从而驱动sm4工作;流式数据传输架构模块,用于上位机和fpga之间的数据通信;其中,上位机由pcie驱动和用例程序组成;用例程序实现数据的发送和接收,以及对sm4功能的更改;在fpga端,包括数据收发模块、缓存模块、位宽转换模块和控制信号模块;缓存模块用于对数据流进行缓冲以及异步时钟域的转换,包括输入缓存模块和输出缓存模块;位宽转换模块用来对数据流进行位宽转换,包括输入位宽转换模块和输出位宽转换模块;控制信号模块根据控制信号的目的地址,将其存储到对应的寄存器中;流式数据传输架构模块将数据传递给固定和变换密钥接口设计模块,固定和变换密钥接口设计模块将该数据传递给sm4加解密算法实现模块处理并生成结果;sm4加解密算法实现模块将结果传递给固定和变换密钥接口设计模块,固定和变换密钥接口设计模块再将该结果传递给流式数据传输架构模块。2.如权利要求1所述的一种基于fpga的可配置密钥sm4加解密系统,其特征在于,密钥扩展模块和加密模块采用流水线结构,保证加解密过程连续不中断,每个周期都能够加解密一个数据。3.如权利要求1所述的一种基于fpga的可配置密钥sm4加解密系统,其特征在于,固定和变换密钥接口设计模块根据流式数据传输架构模块中的数据流信号来启动/暂停数据传输,同时根据流式数据传输架构模块中的控制信号来以固定或变换密钥模式解析数据流,从中提取密钥和原文,随同控制信号传递给sm4,并将sm4计算结果重新封装为数据流返回传输;固定密钥模式将数据流视为原文,并使用存储在fpga lut单元中的加密和解密轮密钥;变换密钥模式将数据流视为头部+原文组成,其中,头部由加解密功能位、密钥、原文长度和保留位组成,按照约定格式进行信息提取。4.如权利要求1所述的一种基于fpga的可配置密钥sm4加解密系统,其特征在于,数据收发模块基于xdma ip实现,完成pcie链路上数据包的接收和发送以及控制信号的接收。5.如权利要求1所述的一种基于fpga的可配置密钥sm4加解密系统,其特征在于,缓存模块基于异步fifo实现。6.如权利要求1所述的一种基于fpga的可配置密钥sm4加解密系统,其特征在于,固定和变换密钥接口设计模块根据输入位宽转换模块的数据有效信号以及输出缓存模块的溢出信号来决定是否接收数据;如果准备好数据并且输出不会导致溢出,则开始数据传输并
进行格式解析;固定密钥模式将流数据视为原文,并使用存储在fpga lut单元中的加密和解密轮密钥;变换密钥模式将数据流视为头部+原文组成;头部需要按照约定格式进行信息提取,并将数据传递给sm4对应参数。7.如权利要求1所述的一种基于fpga的可配置密钥sm4加解密系统,其特征在于,流式数据传输架构模块中,数据收发模块基于xdma ip实现,完成pcie链路上数据包的接收和发送以及控制信号的接收,其中数据流通过axi stream总线进行传输,控制信号以axi lite协议格式传输。

技术总结
本发明涉及一种基于FPGA的可配置密钥SM4加解密系统,属于计算机系统安全保护技术领域。本系统包括SM4加解密算法实现模块、固定和变换密钥接口设计模块、流式数据传输架构模块。SM4加解密算法实现模块用于完成固定密钥和变换密钥两种模式下的加解密。固定和变换密钥接口设计模块用于连接流式数据传输架构模块和SM4加解密算法实现模块,负责启动/暂停数据传输,并根据密钥模式解析数据流,从而驱动SM4工作。流式数据传输架构模块用于上位机和FPGA之间的数据通信。本系统保证了数据传输和处理的正确性,可以快速搭建应用方案,轻松完成计算任务,充分利用带宽,降低系统延迟,并且能够降低收发和计算部分的耦合度,保障应用的独立性。独立性。独立性。


技术研发人员:李可
受保护的技术使用者:苏州宏存芯捷科技有限公司
技术研发日:2023.03.13
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐