一种实时以太网总线式工控系统的数据加密通信方法

文档序号:30304173发布日期:2022-06-05 03:27阅读:211来源:国知局
一种实时以太网总线式工控系统的数据加密通信方法

1.本发明涉及工业控制及数控技术领域,涉及智能制造系统中数控机床、机器人、自动化生产线等装备的总线式控制系统应用,特别地,涉及一种实时以太网总线式工控系统的数据加密通信方法。


背景技术:

2.由于以太网通信技术在工业控制领域的渗透,基于总线式工控系统架构的通信问题得到广泛研究,从工业控制系统的控制性能、安全性以及可靠性等方面逐步改善。实时以太网总线的引入也使得系统的安全性和安全性要求高于普通总线式系统。目前,实时以太网工业控制系统已成为工控领域的主流控制系统。传统总线式工业控制系统中总线数据的传输主要以控制命令、实时位置状态等设备运行数据为主,很少考虑这些运行数据传输的安全加密问题。
3.随着网络攻击行为的不断加剧,如何在确保总线式工业控制系统主从站间通信的实时性、同步性等功能的基础上,提高工业控制系统总线数据传输的安全防护性能,保证以“互联网+制造”为特点的智能制造系统中数控机床、机器人等自动化设备的安全运行,已成为智能制造装备研发与应用企业面临的主要问题。


技术实现要素:

4.基于此,本发明提供了一种适用于总线式工业控制系统的高速高安全数据加密通信方法。该数据加密通信方法施加于系统各节点间的总线通信过程之中,将canopen通信协议与实时以太网总线相结合,能够保证总线数据传输性能实时性、同步性的同时,提高系统通信的整体安全性及可靠性。
5.为实现上述目的,本发明提供了一种实时以太网总线式工控系统的数据加密通信方法,适用于总线式工业控制系统中主站模块和各个从站模块之间的以太网总线实时数据传输,基于实时以太网通信链路层通信协议及canopen通信规范,对主站模块和各个从站模块中的对象字典数据采用blowfish数据加密算法进行加密后形成加密数据帧,再由以太网总线进行数据传输;
6.对主站模块,包括主站模块向各个从站模块发送控制指令的加密过程和各个从站模块向主站模块发送反馈状态数据的解密过程两个方面;对各个从站模块而言,相应的也包括主站模块向各个从站模块发送控制指令的解密和各个从站模块向主站模块发送反馈数据的加密过程两个方面;
7.采用blowfish数据加密算法对主站模块和各个从站模块之间需要总线传输的对象字典数据进行实时加密,包括加密过程的和解密过程;blowfish数据加密是按照密钥key生成子密钥,再按子密钥对原始数据xl和xr进行处理,最后生成加密数据xl*和xr*的过程;其中,密钥key由用户设置,子密钥由迭代计算产生,以两个32位的一维和二维数组pbox[round+2]、sbox[4][256]的加密盒形式表示,round表示加密轮次数;
[0008]
s1、加密过程包括:
[0009]
s11、按照密钥key对pbox加密盒进行初始化;
[0010]
s12、数据加密:当pbox初始化完成之后,将该需要加密的数据分为两组,并合成两个32位数据xl和xr;
[0011]
利用pbox和sbox对xl与xr进行每轮的加密运算,得到每轮加密的中间数据;
[0012]
当xl和xr所有轮次的加密处理完成之后,再将其与pbox进行运算,并将生成的xl*与xr*组合为原始data数组对应的元素,即得到最终的密文data*;
[0013]
s2、解密过程包括:
[0014]
s21、按照密钥key对pbox加密盒进行初始化;
[0015]
s22、对接收到的的密文进行数据解密:将步骤s12生成的密文data*中的元素分解为两个32位数据xl*和xr*;
[0016]
利用pbox和sbox对xl*与xr*进行每轮的解密运算,得到每轮解密的中间数据;
[0017]
当xl*和xr*的所有轮次解密处理完成之后,再将其与pbox进行相关运算,并将最终得到的xl*与xr*还原为原data*数组对应个数的元素,即得到最终解密之后的8字节(64位)明文数据data。
[0018]
进一步的,步骤s11和步骤s21中对主站、从站内部的pbox加密盒初始化采用相同的处理方法,具体为:
[0019]
对于长度为n个字节(8位/字节)的密钥key的,先用密钥key对pbox进行轮次数为round的初始化运算,计算公式如式(1)所示:
[0020][0021]
其中,i表示pbox的元素顺序号,j表示key中元素的顺序号,data1、data2、data3、data4为中间变量。
[0022]
进一步的,在步骤s12数据加密过程中,符合canopen协议的对象字典数据帧data由data[0]、data[1]、data[2]、data[3]、data[4]、data[5]、data[6]、data[7]等8个字节(64位)数据组成,且为需要加密的8字节数据,首先将该8字节数据分解为两个32位数据xl和xr,具体如式(2)所示:
[0023][0024]
利用数据盒pbox和sbox对两个32位数据xl和xr按式(3)进行多轮加密运算:
[0025][0026]
其中,i表示当前加密轮次,变化范围从0累加到round-1;d[0]-d[3]、temp以及dk(xl)表示用于计算的中间变量;当xl和xr所有轮次的加密处理完成之后;按照下式(4)再将其与pbox进行运算,将xl与xr组合为与原数据帧data所对应的8个字节元素,得到加密后原对象字典数据帧密文data*;该密文经主站、从站链路层软件组合后即形成标准的以太网数据帧;
[0027][0028]
式(4)中的tdata[0]、tdata[1]、tdata[2]、tdata[3]、tdata[4]、tdata[5]、tdata[6]、tdata[7]为8个字节组合得到的64位数据data*,即为用于总线传输的数据密文。
[0029]
进一步的,按照步骤s22对主站、从站总线接口接收的加密数据帧报文data*进行解密;data*为8字节(64位)数据,其由tdata[0]、tdata[1]、tdata[2]、tdata[3]、tdata[4]、tdata[5]、tdata[6]、tdata[7]这8个加密数据字节组成;解密前,按照下式(5),先将该8个加密数据字节分为两个32位的数据xl和xr;
[0030][0031]
利用初始化后的数据盒pbox和sbox对两个32位数据xl和xr按式(6)进行多轮解密运算:
[0032][0033]
其中i表示当前解密运算的轮次,d[0]-d[3]、temp以及dk(xl)表示用于计算的中间变量;每经过一轮解密,i值加1,当i与轮次数round相等时解密完成;
[0034]
当xl和xr的所有轮次解密处理完成之后,再按照下式(7)将其与数据盒pbox进行解密运算,并将xl与xr分解为与原加密数据data*数组所对应的8个字节元素,得到最终解密之后8字节(64位)明文数据data;
[0035][0036]
式(7)中的data[0]、data[1]、data[2]、data[3]、data[4]、data[5]、data[6]、data[7]这8个字节即为解密后的8字节canopen协议对象字典数据明文;对这些对象字典明文,主站、从站应用层程序可进行canopen协议栈的调用,实现各种逻辑处理和运动控制功能。
[0037]
进一步的,还包括:s3:采用基于查表方式的crc8循环校验方法对主站模块和各个从站模块之间传输的加密后的canopen对象字典数据进行校验。
[0038]
进一步的,步骤s3包括:
[0039]
s31、设置校验和查询表crc_array,其包含256个8位查询码、校验和计算结果crc_result;用data*[n]表示数据字节长度为n的已加密待校验数组;
[0040]
s32、基于查询表crc_array,对于计算一组长度为n的待校验数组的crc8校验和,首先将crc_result的初值设为0,即:
[0041]
crc_result =0 (8)
[0042]
s33、按照数组data*中字节元素顺序和查询表crc_array,按照式(9)依次进行校验和crc_result的计算,其中i表示data*中字节元素的顺序号:
[0043][0044]
当所有数组data*中的元素都按照式(9)运算完成之后,crc_result则为最终待校验数组data*所有元素的校验和结果。
[0045]
进一步的,所述总线数据报文中的对象字典数据类型包括nmt(网络管理对象)、sdo(服务器数据对象)、sync(同步对象)和pdo(进程数据对象)等类型的od数据。
[0046]
进一步的,从站模块的类型包括:数字i/o从站、模拟i/o从站和运动控制从站,所对应的数据映射报文中canopen对象字典数据帧的长度均按8个字节考虑;在每个从站数据段的末尾,需要增加1个字节长度的数据校验区。
[0047]
本发明具有以下有益效果:
[0048]
1、本发明提供了一种实时以太网总线式工控系统的数据加密通信方法,该加密通信方法采用blowfish加密算法,同时,基于ieee802.3以太网通信协议及canopen通信规范,对系统各节点间的总线通信数据进行加密,该加密算法可在不影响主从站间通信实时性、同步性的前提下,提高总线数据传输的信息安全。该加密通信方法完全保留了canopen原始通信帧的数据信息,并基于实时以太网总线实现了数据的实时传输,原始canopen通信协议栈行为保持完整不变。所述通信加密方法通过单帧实时以太网数据帧实现主站与所有从站的所有pdo过程数据交互,可保证各从站的所有pdo过程数据同时到达。由于pdo过程数据为周期性通信数据,因此,该机制可提高各从站之间周期性数据通信的同步性能。同时,该加密通信方法采用对称的加密和解密算法,提高了总线数据传输的信息安全性。
[0049]
2、本发明提供的一种实时以太网总线式工控系统的数据加密通信方法,结合总线式工控系统通信数据,采用crc8数据校验和算法,对总线式工控系统的加密通信数据进行校验,以在改进各从站之间周期性数据通信的实时性、同步性能以及安全性的基础上,进一步提高主站、从站节点间高速数据通信可靠性。
[0050]
3、本发明方法基于标准canopen应用层通信协议,结合实时以太网总线,在确保系统主站与各从站间通信实时性的同时,可提高工控系统各节点间数据传输的安全性,防止非法手段通过主站软件或总线链路窃取数据,从而增强此类工控系统的信息安全防护能力。
[0051]
4、本发明提供的一种实时以太网总线式工控系统的数据加密通信方法,将canopen通信协议与实时以太网总线相结合,在保证系统各节点通信实时性的同时,使得系统应用层符合相关工业控制领域的规范与标准。而且,在系统通信链路层进行数据传输加密,可确保数据在以太网总线传输过程中的信息安全。该数据加密方法的增加对主从站间的通信性能影响较小,加密后总线数据通信周期仍可低于1毫秒,同步性能在百纳秒量级,能够满足数控机床、机器人、自动化生产线等总线式控制应用场景对实时性、同步性的控制要求。
[0052]
下面将参照附图,对本发明作进一步详细的说明。
附图说明
[0053]
构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0054]
图1为本发明完整系统外观实物图。
[0055]
图2为本发明基于实时以太网及canopen通信协议的通信加密方法示意图。
[0056]
图3为本发明通信数据加密方法的数据流图。
具体实施方式
[0057]
以下结合附图对本发明的实施例进行详细说明,但是本发明可以根据权利要求限定和覆盖的多种不同方式实施。
[0058]
本发明提出了一种用于实时以太网总线式工控系统的数据加密通信方法,此类系统由系统主站、系统从站、实时以太网总线、软件集成开发环境以及hmi组态监控软件等几部分构成。如图1所示,本发明系统主要由主站模块、从站模块、外设接口、软件集成开发环境以及hmi组态监控组态软件等几部分构成。实时以太网总线主要负责主站模块和从站模块之间基于实时以太网和canopen通信协议实现高效通信。主站模块是系统的中央处理器模块,主要负责系统整体的逻辑功能执行,其与各从站节点之间基于实时以太网总线实现高速通信,与人机交互界面之间采用标准的工业组态通信协议实现通信。
[0059]
该数据加密通信机制主要用于系统主站与各从站间的实时以太网数据传输,防止第三方从总线端对系统的非法入侵。该机制基于标准canopen应用层通信协议,结合实时以太网总线,在确保系统主站与各从站间通信实时性的同时,可提高工控系统各节点间数据传输的信息安全,从而增强此类工控系统的安全防护能力。
[0060]
本发明提供的加密通信方法部署于系统通信应用层与链路层。通信应用层采用标准且完整的canopen通信协议,完全符合canopen协议中cia301子协议的相关标准。链路层可采用通用的基于线型(环形冗余)拓扑架构的实时以太网总线,从而保证总线式工控系统各节点通信的实时性能。该加密通信方法实现了一种全新的基于实时以太网总线的canopen协议运行机制。
[0061]
canopen通信协议拥有完整的通信优先机制和状态转换机制,可以保证系统通信行为符合标准规范且安全可靠。由于读映射数据报文和写映射数据报文同时存在于网络帧中,所以主站可仅用一个网络帧实现与所有从站的数据下载和上传。在系统通信过程中,将加密后的的canopen数据帧完整放入以太网总线数据报文中。符合canopen协议的对象字典数据在应用层转换为8字节的数据后,由blowfish算法进行加密并存储于总线网络帧中。data-len表示can帧的实际数据字节长度(0≤data-len≤8)。
[0062]
在canopen标准协议中,一组pdo包含一个tpdo(transmit-pdo)和一个rpdo(receive-pdo)。由于不同类型的从站具有不同数量的pdo组数,且它们pdo中所包含的通信参数也不尽相同,因此读/写数据映射报文中从站数据段的长度需要根据从站所拥有的pdo组数来设置(即该从站所有pdo数据所对应的总字节长度)。而本系统中包含有以下几种类型的从站:数字i/o从站、模拟i/o从站和运动控制从站。其所对应的数据映射报文中canopen对象字典数据帧的长度均按8个字节考虑。另外,在每个从站数据段的末尾,需要增加1个字节长度的数据校验区。
[0063]
由于主从站间通信是总线式工控系统的基础与核心,因此,本发明在主站、从站两侧均引入相关加密解密处理措施,从而提高节点通信的整体安全性能。本发明数据加密通信方法的设计主要基于canopen通信协议及实时以太网总线,采用blowfish加密算法对总线数据进行安全处理。具体的,基于实时以太网通信链路层通信协议及canopen通信规范,对主从站对象字典(object dictionary,以下简写为od)数据采用blowfish数据加密算法进行加密后形成加密数据帧,再由以太网总线进行数据传输。该方法对主站模块,包括主站模块向各个从站模块发送控制指令的加密过程和各个从站模块向主站模块发送反馈状态
数据的解密过程两个方面;对各个从站模块而言,相应的也包括主站模块向各个从站模块发送控制指令的解密和各个从站模块向主站模块发送反馈数据的加密过程两个方面。
[0064]
在通信的信息安全方面,针对非法第三方对系统总线的安全攻击问题,安全通信加密可以有效防止数据的非法盗窃和系统的非法控制。对于实时控制系统,因为加密计算量可能存在较大延迟,因此算法的选择尤为重要。不仅要考虑算法的加密程度,还需考虑算法是否会影响系统整体的实时性。本发明考虑采用blowfish加密算法对总线数据进行加密。该加密算法是一种对称加密算法,包含了加密/解密过程,其详细说明如表1所示。
[0065]
表1基于blowfish加密/解密方法的功能说明
[0066][0067]
对于由单个主站和多个从站模块构成的典型总线式工控系统,加密的主要目的是提高主站、从站模块之间数据传输的安全性,防止非授权第三方通过主站控制软件或总线硬件对工控系统进行攻击。加密处理包括由主站向从站发送指令数据、从站向主站反馈状态数据两个方面。因此,其处理过程涉及到对主站、从站的od数据加密、发送数据组帧、实时
调度、接收数据帧分解等步骤,具体如图2所示。本发明采用blowfish数据加密算法对主站、从站需要总线传输的od数据进行实时加密,包括加密过程的和解密过程,分别实现密钥预处理和数据加密/解密功能。
[0068]
本发明所述的数据加密指的是对总线式工控系统中符合canopen协议的8字节(64位)对象字典数据data的实时快速加密,被加密的对象字典数据用两个32位数据xl和xr表示(unsigned int)。采用blowfish数据加密算法主站模块和各个从站模块之间需要总线传输的对象字典数据进行实时加密,包括加密过程的和解密过程;blowfish数据加密是按照密钥key生成子密钥,再按子密钥对原始数据xl和xr进行处理,最后生成加密数据xl*和xr*的过程。其中密钥key由用户设置,子密钥由迭代计算产生,以两个32位的一维和二维数组pbox[round+2]、sbox[4][256]的加密盒形式表示,round表示加密轮次数。
[0069]
本发明所提的加密、解密处理方法的步骤如下:
[0070]
s1、加密过程包括:
[0071]
s11、按照密钥key对pbox加密盒进行初始化;
[0072]
s12、数据加密:当pbox初始化完成之后,将该需要加密的数据分为两组,并合成两个32位数据xl和xr;
[0073]
利用pbox和sbox对xl与xr进行每轮的加密运算,得到每轮加密的中间数据;
[0074]
当xl和xr所有轮次的加密处理完成之后,再将其与pbox进行运算,并将生成的xl*与xr*组合为原始data数组对应的元素,即得到最终的密文data*;
[0075]
s2、解密过程包括:
[0076]
s21、按照密钥key对pbox加密盒进行初始化;
[0077]
s22、对接收到的的密文进行数据解密:将步骤s12生成的密文data*中的元素分解为两个32位数据xl*和xr*;
[0078]
利用pbox和sbox对xl*与xr*进行每轮的解密运算,得到每轮解密的中间数据;
[0079]
当xl*和xr*的所有轮次解密处理完成之后,再将其与pbox进行相关运算,并将最终得到的xl*与xr*还原为原data*数组对应个数的元素,即得到最终解密之后的8字节(64位)明文数据data。
[0080]
对主站、从站内部的pbox加密盒按照步骤s11和步骤s21采用相同的处理方法,具体为:
[0081]
对于长度为n个字节(8位/字节)的密钥key的,先用密钥key对pbox进行轮次数为round的初始化运算,计算公式如式(1)所示:
[0082][0083]
其中,i表示pbox的元素顺序号,j表示key中元素的顺序号,data1、data2、data3、data4为中间变量。
[0084]
在步骤s12数据加密过程中,符合canopen协议的对象字典数据帧data由data[0]、data[1]、data[2]、data[3]、data[4]、data[5]、data[6]、data[7]等8个字节(64位)数据组成、为需要加密的8字节数据,首先将该8字节数据分解为两个32位数据xl和xr,具体如式(2)所示:
[0085][0086]
利用数据盒pbox和sbox对两个32位数据xl和xr按式(3)进行多轮加密运算:
[0087][0088]
其中,i表示当前加密轮次,变化范围从0累加到round-1;d[0]-d[3]、temp以及dk(xl)表示用于计算的中间变量。当xl和xr所有轮次的加密处理完成之后。按照下式(4)再将其与pbox进行运算,将xl与xr组合为与原数据帧data所对应的8个字节元素,得到加密后原对象字典数据帧密文data*。该密文经主站、从站链路层软件组合后即形成标准的以太网数据帧。
[0089][0090]
式(4)中的tdata[0]、tdata[1]、tdata[2]、tdata[3]、tdata[4]、tdata[5]、tdata[6]、tdata[7]等8个字节组合得到的64位数据data*即为用于总线传输的数据密文。
[0091]
按照步骤s22对主站、从站总线接口接收的加密数据帧报文data*进行解密。data*为8字节(64位)数据,其由tdata[0]、tdata[1]、tdata[2]、tdata[3]、tdata[4]、tdata[5]、tdata[6]、tdata[7]等8个加密数据字节组成。解密前,按照下式(5),先将该8个加密数据字节分为两个32位的数据xl和xr。
[0092][0093]
利用初始化后的数据盒pbox和sbox对两个32位数据xl和xr按式(6)进行多轮解密
运算:
[0094][0095]
其中i表示当前解密运算的轮次,d[0]-d[3]、temp以及dk(xl)表示用于计算的中间变量;每经过一轮解密,i值加1,当i与轮次数round相等时解密完成。
[0096]
当xl和xr的所有轮次解密处理完成之后,再按照下式(7)将其与数据盒pbox进行解密运算,并将xl与xr分解为与原加密数据data*数组所对应的8个字节元素,得到最终解密之后8字节(64位)明文数据data。
[0097][0098]
式(7)中的data[0]、data[1]、data[2]、data[3]、data[4]、data[5]、data[6]、data[7]等8个字节即为解密后的8字节canopen协议对象字典数据明文。对这些对象字典明文,主站、从站应用层程序可进行canopen协议栈的调用,实现各种逻辑处理和运动控制功能。
[0099]
针对系统总线通信传输过程可能出现的误码问题。为提高实时以太网加密canopen对象字典数据帧传输可靠性。在对数据帧进行加密处理的基础上,本发明还提出了一种对加密数据进行校验的方法。包括步骤s3:采用基于查表方式的crc8循环校验方法对主站模块和各个从站模块之间的canopen数据进行校验。在功能安全方面,它可以防止系统使用错误的通信数据对相关设备进行控制。本系统通信数据校验和的功能说明具体描述如下。
[0100]
表2通信数据校验和功能说明
[0101][0102]
本文的通信数据校验采用crc8校验方法,主要目的是为了以较小计算量换取更低的通信数据错误率。本系统中采用基于查表方式的crc8循环校验方法对各从站读/写数据映射报文中的数据增加校验方法。由于crc8循环校验过程所用的计算校验和查询表可自行定义,因此,crc8循环校验方法采用查表的方式而没有采用算术运算的方式,在一定程度上增加了通信的信息安全。具体校验和方法说明如下。
[0103]
s3:采用基于查表方式的crc8循环校验方法对主站模块和各个从站模块之间的传输的加密后canopen对象字典数据进行校验。
[0104]
s31、设置校验和查询表crc_array,其包含256个8位查询码、校验和计算结果crc_result;用data*[n]表示数据字节长度为n的已加密待校验数组;
[0105]
s32、基于查询表crc_array,对于计算一组长度为n的待校验数组的crc8校验和,首先将crc_result的初值设为0,即:
[0106]
crc_result=0
ꢀꢀꢀ
(8)
[0107]
s33、按照数组data*中字节元素顺序和查询表crc_array,按照式(9)依次进行校验和crc_result的计算,其中i表示data*中字节元素的顺序号:
[0108][0109]
当所有数组data*中的元素都按照式(9)运算完成之后,crc_result则为最终待校验数组data*所有元素的校验和结果。
[0110]
canopen通信协议拥有完整的通信优先机制和状态转换机制,可以保证系统通信行为符合标准规范且安全可靠,因此,本发明基于实时以太网总线协议及canopen通信规范,增加通信加密及数据校验和等功能。该方法既包含了canopen协议的完整通信对象,功能齐全,又提高了工控系统各节点之间数据通信的安全与稳定。
[0111]
本发明提出的一种总线式控制系统的各节点数据加密通信方法,采用blowfish算法可确保数据在总线上传输的信息安全;同时,采用crc8算法可保证数据通信的稳定可靠性。图3为详细完整的系统主站与各从站之间的数据通信流图。该系统数据流基于实时以太网通信协议及canopen通信规范,结合blowfish数据加密算法及crc8数据校验和算法对通信数据进行加密及校验等功能,提高了系统各节点数据传输的安全与可靠。另外,通信应用层符合完整canopen通信规范,主从站间通信故障根据canopen协议标准引入到规定数据字典映射字段中,并按照canopen协议流程实现系统整体通信行为的状态切换。
[0112]
本发明基于实时以太网总线,充分考虑主从站间通信的功能安全和信息安全问题,在不影响系统总线通信性能的情况下,提高了主从站间通信的安全性和可靠性。同时,本发明采用一种新的实时以太网总线canopen协议运行方法。一方面,该方法可使系统通信应用层符合标准的canopen通信协议。另一方面,基于实时以太网通信链路,主从站间的总线式通信能力得到大幅提升。此外,在实时以太网总线上采用数据加密技术可以保证总线式架构下数据传输过程的信息安全,防止非法手段通过总线链路窃取数据。
[0113]
本发明提供的一种实时以太网总线式工控系统的数据加密通信方法,将canopen通信协议与实时以太网总线相结合,在保证系统各节点通信实时性的同时,使得系统应用层符合相关工业控制领域的规范与标准。而且,在系统通信链路层进行数据传输加密,可确保数据在以太网总线传输过程中的信息安全。该数据加密方法的增加对主从站间的通信性能影响较小,其最小总线通信周期仍可低于1毫秒,并且系统各从站间的同步性能可以达到百纳秒级,能够满足数控机床、机器人、自动化生产线等总线式控制应用场景对实时性、同步性的控制要求。
[0114]
上述所描述的实施例仅是本发明的某一具体实施例,并非对本发明作任何形式上的限制,本领域普通技术人员在没有做出创造性劳动的前提下,基于本发明技术方案所进行的变动、修改、替换或变型所获得的所有其它实施例,都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1