数据的处理方法、控制系统及控制装置与流程

文档序号:18631241发布日期:2019-09-06 23:41阅读:173来源:国知局
数据的处理方法、控制系统及控制装置与流程

本发明涉及一种在对控制对象进行控制的控制装置中从支持装置提供的数据的处理方法、包括控制装置和对控制装置提供数据的支持装置的控制系统、以及使用从支持装置提供的数据来对控制对象进行控制的控制装置。



背景技术:

在各种生产现场,使用可编程逻辑控制器(programmablelogiccontroller,plc)(可编程控制器(programmablecontroller))等控制装置的工厂自动化(factoryautomation,fa)技术正广泛普及。伴随近年的信息通信技术(informationandcommunicationtechnology,ict)的发展,在此类fa领域中的控制装置中,不仅执行以往的序列程序(sequenceprogram),还执行各种应用程序(applicationprogram)。

此种控制装置中的程序的执行是在预先设定的任务周期内完成,但近年来,也有跨及多个任务周期而完成程序的执行的情况。

例如,日本专利特开2012-194663号公报(专利文献1)揭示了一种通过执行程序来对控制对象进行控制的plc的中央处理器(centralprocessingunit,cpu)单元,所述cpu单元构成为,当在控制循环内无法完成程序的执行时,在下个控制循环中执行程序的未执行部分。

现有技术文献

专利文献

专利文献1:日本专利特开2012-194663号公报



技术实现要素:

发明所要解决的问题

如上所述,由于跨及多个任务周期来执行程序的控制装置的出现,逐渐将各种程序用于控制装置。例如,并不限于计算机可处理的二进制(binary)格式的程序,计算机(computer)能够直接理解并处理人所制作的源代码(sourcecode)的解释器(interpreter)格式的程序也逐渐用于控制装置。将此种解释器格式的程序用于控制装置,对于用户而言,便利性非常好,但另一方面,由于所述源代码是直接存储在控制装置中,因此向外部的泄漏对策变得重要。

本发明的目的在于提供一种在对控制对象进行控制的控制装置中防止数据泄漏的技术。

解决问题的技术手段

根据本揭示的一例,提供一种在对控制对象进行控制的控制装置中从支持装置提供的数据的处理方法。方法包括下述步骤:控制装置生成私钥及公钥;控制装置获取通过利用公钥对数据进行加密所获得的加密数据;当控制装置进行处理时,控制装置利用私钥来对加密数据进行解码;控制装置将通过利用私钥对加密数据进行解码所获得的数据,存储至无法从外部访问的易失性存储区域中;以及控制装置参照存储在存储区域中的数据来执行处理。

根据本揭示,控制装置使用所生成的公钥,来对从支持装置提供的数据进行加密,因此能够防止从支持装置提供的数据直接泄漏到外部。而且,当控制装置进行处理时,控制装置使用控制装置所生成的私钥来对加密数据进行解码,并且控制装置将经解码的数据存储至无法访问的易失性存储区域中,因此也能够防止经解码的数据泄漏到外部。

在所述揭示中,加密数据是通过控制装置使用公钥对由支持装置所提供的数据进行加密而生成。获取步骤包含获取控制装置所生成的加密数据的步骤。

根据本揭示,由于控制装置独立对从支持装置提供的数据进行加密,因此无须将控制装置所生成的公钥转发至外部,不会使处理复杂化而能够防止数据的泄漏。

在所述揭示中,加密数据是通过支持装置使用公钥对数据进行加密而生成。获取步骤包含获取由支持装置所转发的加密数据。

根据本揭示,提供数据的支持装置将数据以加密状态转发至控制装置,因此能够防止数据在转发路径中泄漏,从而能够进一步强化数据的防泄漏。

在所述揭示中,控制装置在从外部转发有数据、受理了来自外部的指令、及控制装置已启动中的至少其中任一个条件成立时,执行生成步骤。

根据本揭示,控制装置能够在适当的时机生成私钥及公钥。

在所述揭示中,方法包括下述步骤:在已存储有公钥及私钥的旧密钥对的情况下,控制装置新生成私钥及公钥的新密钥对;控制装置利用旧密钥对的私钥,对通过利用旧密钥对的公钥进行加密所获得的加密数据进行解码;控制装置利用新密钥对的公钥,对通过利用旧密钥对的私钥进行解码所获得的数据进行加密;控制装置对通过利用新密钥对的公钥进行加密所获得的加密数据进行存储;以及控制装置删除旧密钥对。

根据本揭示,控制装置能够更换被用于数据的加密及解码的密钥对,因此能够进一步强化数据的防泄漏。

在所述揭示中,方法包括下述步骤:在已存储有公钥及私钥的旧密钥对的情况下,控制装置新生成私钥及公钥的新密钥对;控制装置利用旧密钥对的私钥,从通过利用旧密钥对的公钥进行加密所获得的多个加密数据中,对至少一个加密数据进行解码;控制装置利用新密钥对的公钥,对通过利用旧密钥对的私钥进行解码所获得的数据进行加密;控制装置对通过利用新密钥对的公钥进行加密所获得的加密数据进行存储;以及当通过利用旧密钥对的公钥进行加密所获得的多个加密数据全部利用新密钥对的公钥进行了加密时,控制装置删除旧密钥对。

根据本揭示,控制装置能够更换被用于多个数据的加密及解码的密钥对,因此能够进一步强化数据的防泄漏。

在所述揭示中,方法包括下述步骤:控制装置从将与通过利用旧密钥对的公钥进行加密所获得的多个加密数据分别对应的项目汇总的列表中,删除与通过利用新密钥对的公钥进行加密所获得的加密数据对应的项目;以及当因通过利用旧密钥对的公钥进行加密所获得的多个加密数据全部利用新密钥对的公钥进行了加密而所有的项目已被删除时,控制装置删除列表。

根据本揭示,通过使用列表,控制装置能够不多不少地更换密钥对。而且,即使密钥更换被暂时中断,通过使用列表,控制装置也能够从中断时的状态更换密钥对。

在所述揭示中,控制装置使用依存于生成私钥及公钥时的所述控制装置内的环境而变化的值,来生成所述私钥及公钥。

根据本揭示,控制装置能够使用无再现性的值来生成私钥及公钥,因此能够进一步强化数据的防泄漏。

在所述揭示中,控制装置将数据的哈希(hash)值关联于跟数据对应的加密数据予以存储。

根据本揭示,通过核对与加密数据关联的哈希值,无须对加密数据进行解码便能够核对数据,因此能够缩短核对所需的时间。

在所述揭示中,数据是控制装置对控制对象进行控制的程序的源代码。

根据本揭示,能够防止程序的源代码之类的解释器格式的数据泄漏到外部。

根据本揭示的另一例,提供一种控制系统,其包括对控制对象进行控制的控制装置、及对控制装置提供数据的支持装置。控制装置包括:生成部件,生成私钥及公钥;获取部件,获取通过利用公钥对数据进行加密所获得的加密数据;解码部件,当进行处理时,利用私钥来对加密数据进行解码;存储部件,将通过利用私钥对加密数据进行解码所获得的数据,存储至无法从外部访问的易失性存储区域中;以及执行部件,参照存储在存储区域中的数据来执行处理。

根据本揭示,控制装置使用所生成的公钥,来对从支持装置提供的数据进行加密,因此能够防止从支持装置提供的数据直接泄漏到外部。而且,当控制装置进行处理时,控制装置使用控制装置所生成的私钥来对加密数据进行解码,并且控制装置将经解码的数据存储至无法访问的易失性存储区域中,因此也能够防止经解码的数据泄漏到外部。

根据本揭示的又一例,提供一种控制装置,其使用从支持装置提供的数据来对控制对象进行控制。控制装置包括:生成部件,生成私钥及公钥;获取部件,获取通过利用公钥对数据进行加密所获得的加密数据;解码部件,当进行处理时,利用私钥来对加密数据进行解码;存储部件,将通过利用私钥对加密数据进行解码所获得的数据,存储至无法从外部访问的易失性存储区域中;以及执行部件,参照存储在存储区域中的数据来执行处理。

根据本揭示,控制装置使用所生成的公钥,来对从支持装置提供的数据进行加密,因此能够防止从支持装置提供的数据直接泄漏到外部。而且,当控制装置进行处理时,控制装置使用控制装置所生成的私钥来对加密数据进行解码,并且控制装置将经解码的数据存储至无法访问的易失性存储区域中,因此也能够防止经解码的数据泄漏到外部。

发明的效果

根据本发明,能够提供一种在对控制对象进行控制的控制装置中防止数据泄漏的技术。

附图说明

图1是表示在本实施方式的控制装置中从支持装置提供的数据的处理方法的概要的示意图。

图2是表示本实施方式的控制系统的整体结构例的示意图。

图3是表示本实施方式的控制装置的硬件(hardware)结构例的框图。

图4是表示本实施方式的支持装置的硬件结构例的框图。

图5是用于说明在本实施方式的控制装置中,相对于控制程序的任务(task)周期的、应用程序的执行时机的一例的时间图。

图6是表示本实施方式的控制系统的各种功能的功能框图。

图7是用于说明本实施方式的控制系统的密钥生成工序的功能框图。

图8是用于说明第1实施方式的控制系统的加密工序的功能框图。

图9是用于说明第1实施方式的控制系统的加密工序的序列图。

图10是用于说明第2实施方式的控制系统的加密工序的功能框图。

图11是用于说明第3实施方式的控制系统的加密工序的功能框图。

图12是用于说明第3实施方式的控制系统的加密工序的序列图。

图13是用于说明本实施方式的控制系统的解码工序的功能框图。

图14是用于说明本实施方式的控制系统的解码工序的序列图。

图15是用于说明本实施方式的控制系统的密钥更换工序的功能框图。

图16的(a)至(d)是用于说明在本实施方式的控制系统中,旧加密数据列表的更新例的图。

图17是用于说明本实施方式的控制装置的密钥更换工序的流程图。

图18是用于说明本实施方式的控制系统中的数据核对的示意图。

符号的说明

1:控制系统

6:上位网络

10:设备

12:装置

14:继电器群

16:i/o单元

18:图像传感器

20:摄像机

22:伺服驱动器

24:伺服马达

97:工件区域

98:执行模块

99:程序区域

100、100a、100b、100c:控制装置

102、202:处理器

104:主存储器

106、106a、106c、208:贮存器

108:上位网络控制器

110:现场网络控制器

112:外部接口

122:运算部

124:密钥生成部

126:加密部

128:解码部

130:处理器总线

142:易失性存储部

162:非易失性存储部

200:支持装置

204:光驱

205:记录介质

206:主存储装置

212:控制器

214:网络控制器

216:输入部

218:显示部

220:总线

230:支持程序

234:编程工具

300、600:外部贮存器

400:显示装置

500:服务器装置

具体实施方式

参照附图来详细说明本发明的实施方式。另外,对于附图中的相同或相当的部分,标注相同的符号并不再重复其说明。

<a.适用例>

首先,参照图1来说明适用本发明的场景的一例。图1是表示在本实施方式的控制装置中从支持装置提供的数据的处理方法的概要的示意图。以下的说明中,作为控制装置的一例,主要设想plc(可编程控制器)。

如图1所示,本实施方式的控制系统1包括控制装置100与支持装置200。控制装置100参照从支持装置200提供的数据来执行规定的处理,由此来对控制对象进行控制。从支持装置200提供的“数据”中,包含对控制对象进行控制时所用的程序或参数(parameter)等。这些数据是由控制装置100的设计者等用户所制作。

由控制装置100所执行的所述程序包含用户程序及系统程序。用户程序是根据控制对象而任意制作的命令的组合,可由用户任意制作及修正。典型的是,用户程序包含含有一个或多个命令的源代码,所述一个或多个命令是依据由国际电气标准会议(internationalelectrotechnicalcommission,iec)所规定的国际规格iec61131-3而记述。

与此相对,系统程序是用于实现执行环境、或控制装置100中所含的硬件的控制的程序,所述执行环境用于执行用户程序。基本上,系统程序是被预先安装在控制装置100中。

作为用户程序,有如下所述的控制程序,即,作为任一任务的一部分而登记,且在对所述任务设定的固定的每个控制周期即任务周期反复执行。在某任务周期,从控制程序的先头依序执行至最终为止,在下个任务周期中,也从控制程序的先头依序执行至最终为止。

而且,作为用户程序,有当在某任务周期内,预定的执行条件成立时执行的应用程序。应用程序也有时无法在一个任务周期内完成所述应用程序所提供的处理,此种情况下,跨及多个任务周期来执行处理。

此种应用程序为解释器格式的程序,以便用户能够任意制作及修正,因此其源代码被直接存储在控制装置100中。因此,若源代码泄漏到控制装置100的外部,则容易被外人利用数据。

鉴于如上所述的问题,本实施方式提供一种在对控制对象进行控制的控制装置100中防止数据泄漏的技术。具体而言,本实施方式中,通过将使用公钥及私钥的加密技术适用于plc等控制装置100,从而实现程序的防泄漏。以下,具体说明防止数据泄漏的技术。

首先,参照图1来说明数据的加密工序。如图1所示,在步骤1中,从支持装置200对控制装置100提供由用户所制作的数据(程序或参数等数据)。

在步骤2中,控制装置100生成公钥及私钥的组(set)(以下也称作“密钥对”)。另外,公钥及私钥的生成只要采用一般所知的公知技术即可,但对于此时所用的因数,优选采用依存于控制装置100内的环境而变化的值。即,在公钥及私钥的生成时,优选采用无再现性的值。公钥及私钥被存储在即便不供给电源也能保持存储的非易失性存储区域中。

在步骤3中,使用由控制装置100所制作的公钥,对从支持装置200提供的数据进行加密。此处,既可由控制装置100使用公钥来对从支持装置200提供的数据进行加密,也可在支持装置200使用公钥来对数据进行加密后将此加密数据转发至控制装置100。另外,使用公钥的加密只要采用一般所知的公知技术即可。

在步骤4中,控制装置100获取并存储加密数据。加密数据被存储在非易失性存储部中。

这样,从支持装置200提供的数据在经控制装置100或支持装置200加密后,由控制装置100予以存储而保持。

接下来,参照图1来说明控制装置100执行处理时的加密数据的解码工序。如图1所示,在步骤11中,控制装置100使用私钥,对保持于非易失性存储部中的加密数据进行解码。另外,使用私钥的解码只要采用一般所知的公知技术即可。

在步骤12中,控制装置100存储经解码的数据。经解码的数据是被存储在未供给电源时无法保持存储的易失性存储区域、且无法从外部访问的存储部中。所谓“外部”,是指不能得知控制装置100的处理中所用的数据的区域,一般设想与具有所述数据制作工具的支持装置200不同的装置等。

在步骤13中,控制装置100参照存储在易失性存储部中的数据来执行处理,由此来对控制对象进行控制。

这样,加密数据经控制装置100解码,从而被用于对控制对象进行控制时的处理。

<b.控制系统的整体结构例>

首先,对包含本实施方式的控制装置100的、控制系统1的整体结构例进行说明。图2是表示本实施方式的控制系统1的整体结构例的示意图。

如图2所示,控制系统1的主要构成元件即控制装置100通过执行预先准备的用户程序,来控制任意的控制对象。具体而言,控制装置100循环执行如下所述的一连串控制处理,即,从控制对象收集测量值或状态值(以下也称作“输入数据”)等,并且基于所收集的输入数据来执行控制运算,并将通过控制运算的执行而获得的指令值或状态值(以下也称作“输出数据”)输出至控制对象。

图2中,表示控制装置100经由现场网络(fieldnetwork)2而连接于一个或多个设备(device)10的结构例。一个或多个设备10根据来自控制装置100的输出数据来对控制对象进行控制,并将从控制对象测量的输入数据提供给控制装置100。作为一例,设备10包含远程输入/输出(input/output,i/o)装置12、继电器(relay)群14、图像传感器18及摄像机(camera)20与伺服驱动器(servodriver)22及伺服马达(servomotor)(m)24。

虽省略图示,但远程i/o装置12包含经由现场网络2来进行通信的通信部、与用于进行输入数据的获取及输出数据的输出的输入/输出部(以下也称作“i/o单元”)。

i/o单元既可直接连接于现场网络2,也可装入控制装置100的一部分。图2所示的示例中,i/o单元16直接连接于现场网络2。

图像传感器18对于由摄像机20所拍摄的图像数据,进行图形匹配(patternmatching)等图像测量处理,并将其处理结果发送至控制装置100。伺服驱动器22根据来自控制装置100的输出数据(例如位置指令等),来驱动伺服马达24。

现场网络2优选采用进行保证数据到达时间的固定周期通信的网络。作为此种进行固定周期通信的网络,已知有ethercat(注册商标)、ethernet/ip(注册商标)、devicenet(注册商标)、componet(注册商标)等。

在控制装置100上,也有时连接有用于进行用户程序的开发或调试(debug)的支持装置200。由支持装置200所提供的功能的详细将后述。

控制装置100经由上位网络6而连接于服务器装置500及显示装置400。

服务器装置500与控制装置100之间交换必要的数据。服务器装置500例如也可具有数据库(database)功能,按照时间序列来收集控制装置100所输出的事件日志(eventlog)等。

显示装置400接受来自用户的操作,对控制装置100发送与用户操作相应的命令等,并且以图解(graphical)方式显示控制装置100中的运算结果等。

<c.各装置的硬件结构例>

接下来,对构成本实施方式的控制系统1的主要装置的硬件结构例进行说明。

(c1:控制装置100的硬件结构例)

接下来,对本实施方式的控制装置100的硬件结构例进行说明。图3是表示本实施方式的控制装置的硬件结构例的框图。

如图3所示,控制装置100包含处理器(processor)102、主存储器(mainmemory)104、贮存器(storage)106、上位网络控制器108、现场网络控制器110及外部接口112。这些组件(component)经由处理器总线130而彼此连接。

处理器102相当于执行控制运算等的运算部,包含中央处理器(centralprocessingunit,cpu)或图形处理器(graphicsprocessingunit,gpu)等。具体而言,处理器102读出保存在贮存器106中的程序,在主存储器104中的工作(work)区域97中展开程序并执行,由此来实现与控制对象相应的控制及处理。

主存储器104包含动态随机存取存储器(dynamicrandomaccessmemory,dram)或静态随机存取存储器(staticrandomaccessmemory,sram)等易失性存储装置等。贮存器106例如包含硬盘驱动器(harddiskdrive,hdd)或固态硬盘(solidstatedrive,ssd)等非易失性存储装置等。

在贮存器106中,包含用于实现用户程序的一个或多个执行模块(module)98、及用于保存各种程序的程序区域99。例如,在程序区域中,保存有用于生成公钥及私钥的生成程序、用于对数据进行加密的加密程序、用于对加密数据进行解码的解码程序、及使用数据来执行处理的执行程序等。

上位网络控制器108经由上位网络6而与显示装置400或服务器装置500(参照图4)等任意的信息处理装置之间交换数据。

现场网络控制器110经由现场网络2而与现场设备之间交换数据。现场网络控制器110作为用于进行经由现场网络2的固定周期通信的通信主机(master)发挥功能。

外部接口112例如包含通用串行总线(universalserialbus,usb)控制器或存储卡接口(memorycardinterface)等。usb控制器经由usb连接而与支持装置200等之间交换数据。而且,存储卡接口受理作为可装卸记录介质的一例的存储卡等外部贮存器300。存储卡接口可对外部贮存器300写入数据,并可从外部贮存器300读出各种数据(日志或追踪数据(tracedata)等)。

图3所示的示例中,表示了通过处理器102执行程序而提供所需功能的结构例,但这些所提供的功能的一部分或全部也可使用专用的硬件电路(例如专用集成电路(applicationspecificintegratedcircuit,asic)或现场可编程门阵列(field-programmablegatearray,fpga)等)来安装。或者,对于控制装置100的主要部分,也可使用遵循通用架构(architecture)的硬件(例如将通用个人计算机(personalcomputer)作为基础(base)的工业用个人计算机)来实现。此时,也可使用虚拟技术并列地执行用途不同的多个操作系统(operatingsystem,os),并且在各os上执行所需的应用(application)。进而,也可采用在控制装置100中综合有显示装置400或支持装置200等的功能的结构。

(c2:支持装置200的硬件结构例)

接下来,对本实施方式的支持装置200的硬件结构例进行说明。图4是表示本实施方式的支持装置200的硬件结构例的框图。

作为一例,本实施方式的支持装置200是通过使用遵循通用架构的硬件(例如通用个人计算机)来执行程序而实现。

如图4所示,支持装置200包含cpu或mpu等处理器202、光驱204、主存储装置206、贮存器208、usb控制器212、网络控制器214、输入部216及显示部218。这些组件经由总线220而彼此连接。

处理器202读出保存在贮存器208中的各种程序,在主存储装置206中展开并执行,由此来实现各种处理。

贮存器208例如包含hdd或ssd等。在贮存器208中,典型的是保存有支持程序230,所述支持程序230用于进行在支持装置200中执行的用户程序的制作、所制作的程序的调试、系统结构的定义、各种参数的设定等。

支持程序230使作为计算机的支持装置200作为生成应用程序的装置发挥功能。更具体而言,支持程序230包含用于实现源代码的制作及编辑处理等的编程工具234。

支持装置200具有光驱204,从非一次性地保存计算机可读取的程序的记录介质205(例如数字通用光盘(digitalversatiledisc,dvd)等光学记录介质),读取保存在其中的程序,并安装至贮存器208等中。

由支持装置200所执行的各种程序也可经由记录介质205来安装,但也可以从网络上的服务器(server)装置等下载(download)的形式而安装。而且,本实施方式的支持装置200所提供的功能也有时是以利用os所提供的模块的一部分的形式而实现。

usb控制器212对经由usb连接的、与控制装置100之间的数据交换进行控制。局域网络控制器214对经由任意网络的、与其他装置之间的数据交换进行控制。

输入部216包含键盘(keyboard)及鼠标(mouse)等,受理用户操作。显示部218包含显示器(display)、各种指示器(indicator)及打印机(printer)等,输出来自处理器202的处理结果等。

图4所示的示例中,表示了通过处理器202执行程序而提供所需功能的结构例,但这些所提供的功能的一部分或全部也可使用专用的硬件电路(例如asic或fpga等)来安装。

(c3:服务器装置500的硬件结构例)

作为一例,构成本实施方式的控制系统1的服务器装置500可使用通用的文件服务器(fileserver)或数据库服务器来实现。关于此种装置的硬件结构已为公知,因此,此处不进行其详细说明。

(c4:显示装置400的硬件结构例)

构成本实施方式的控制系统1的显示装置400被称作人机接口(humanmachineinterface,hmi)装置,既可采用作为专用机而安装的结构,也可使用遵照通用架构的硬件(例如,将通用个人计算机作为基础的工业用个人计算机)来实现。

在使用将通用个人计算机作为基础的工业用个人计算机来实现显示装置400的情况下,采用与所述图4所示的支持装置200同样的硬件结构。但是,取代图4所示的结构例中的支持程序230,而将用于实现hmi功能的程序安装于显示装置400。

<d.控制程序的任务周期与应用程序的执行时机>

接下来,对本实施方式的控制装置100中,相对于控制程序的任务周期的、应用程序的执行时机的一例进行说明。图5是用于说明在本实施方式的控制装置100中,相对于控制程序的任务周期的、应用程序的执行时机的一例的时间图。

另外,图5所示的示例中,“e”表示以固定周期执行的控制程序的处理的执行所需的时间,“p”表示在任务内调用的应用程序的执行所需的时间。

如图5所示,在固定的每个任务周期,反复执行控制程序。在各任务周期内,控制程序从其先头执行至最终为止。这样,在以固定周期间隔而执行的控制程序的执行完成后,使用1任务周期内的剩余时间来执行应用程序。进而,当在1任务周期内的剩余时间中应用程序的执行未能完成时,则跨及多个任务周期来执行应用程序。

例如,在图5所示的示例中,在第1周期中的1任务周期内,应用程序的执行完成,但在第2周期中的1任务周期内,应用程序的执行未完成。此时,在接下来的第3周期中的1任务周期内,执行应用程序的未执行部分。

这样,从支持装置200提供给控制装置100的数据中所含的应用程序是利用执行在每个任务周期反复执行的控制程序后的剩余时间,跨及一个或多个任务周期而执行,由此来实现用于控制装置100对控制对象进行控制的处理。

<e.控制系统的功能结构例>

接下来,对本实施方式的控制系统1的功能结构进行说明。图6是表示本实施方式的控制系统1的各种功能的功能框图。另外,图6中,特别说明与防止从支持装置200提供给控制装置100的数据的泄漏的技术相关的功能结构。

如图6所示,控制装置100的处理器102具有运算部122、密钥生成部124、加密部126及解码部128,以作为主要的功能部。控制装置100的主存储器104具有在易失性存储区域中存储信息的易失性存储部142,以作为主要的功能部。控制装置100的贮存器106具有在非易失性存储区域中存储信息的非易失性存储部162,以作为主要的功能部。

处理器102、主存储器104及贮存器106分别经由外部接口112而连接于支持装置200及外部贮存器300。

<f.控制系统的各工序>

接下来,对控制系统1所实施的各工序进行说明。

(f1:密钥生成工序)

首先,对控制系统1的密钥生成工序进行说明。图7是用于说明本实施方式的控制系统的密钥生成工序的功能框图。另外,在图7及后述的图8、图10、图11、图13、图15中,在各工序中执行的处理的顺序的一例,例如像“(1)”、“(2)”、“(3)”、…等那样以带括号的数字来表示。

如图7所示,控制装置100在用于生成密钥的条件成立时,生成公钥及私钥的组即密钥对。作为用于生成密钥的条件,设想(1a)已从外部经由外部接口112而将数据转发至控制装置100的主存储器104、(1b)受理了更换密钥的意旨的指令、及(1c)控制装置100在不存在密钥的状态下已启动等。

(1a)的数据转发是设想:在控制装置100的制造时或者量产工序中,将应用程序或参数等新的数据登记在控制装置100中。而且,数据既可从支持装置200经由外部接口112而转发至控制装置100,也可从外部贮存器300经由外部接口112而读取至控制装置100。

从外部转发的数据是由主存储器104的易失性存储部142来存储。因此,在控制装置100未运转的时段,通过不对主存储器104供给电源,来擦除易失性存储区域内的数据。由此,能够防止数据的泄漏。另外,在数据未容纳于主存储器104中的情况下,也可暂时存储于贮存器106中。

(1b)的密钥更换指令是设想:在已存在密钥对的状态下,控制装置100通过用户操作而受理了更换密钥的意旨的指令。

(1c)的控制装置100的启动是设想:控制装置100的工厂出货时或设定重置(reset)时的启动。

控制装置100在执行了所述(1a)、(1b)、(1c)中的其中任一个处理的情况下,由处理器102的密钥生成部124新生成密钥对(2)。

(2)的密钥对的生成中,控制装置100在生成密钥对的时间点,使用依存于控制装置100内的环境而变化的值来生成密钥对。即,控制装置100在密钥对的生成时,采用无再现性的值。具体而言,控制装置100使用构成控制装置100的零件的信息或各种传感器的当前值、自我诊断数据(例如内部电路的电流值或内部元件的温度、其他环境噪声数据、装置利用的统计信息等)、或者非易失性贮存器106的当前值等无再现性的因数,来生成密钥对。由此,能够进一步强化数据的防泄漏。

控制装置100在生成密钥对时,通过贮存器106的非易失性存储部162来存储密钥对。

这样,当从支持装置200或外部贮存器300转发有数据、受理了来自外部的指令、及控制装置100已启动中的至少其中任一个条件成立时,控制装置100能够生成新的密钥对。

(f2:第1实施方式的加密工序)

接下来,对本实施方式的加密工序中的、第1实施方式的加密工序进行说明。图8是用于说明第1实施方式的控制系统1的加密工序的功能框图。

如图8所示,首先,从支持装置200经由外部接口112而将数据转发至控制装置100的主存储器104(1)。从支持装置200转发的数据是由主存储器104的易失性存储部142予以存储。另外,在数据未容纳于主存储器104的情况下,也可暂时存储于贮存器106中。

控制装置100在从支持装置200转发有数据时,生成密钥对(2)。另外,所述密钥对的生成是相当于经过图7所示的(1a)的处理之后的(2)密钥对生成的处理。

控制装置100在生成密钥对时,通过贮存器106的非易失性存储部162来存储密钥对(3)。

控制装置100通过处理器102的加密部126,参照存储于主存储器104中的数据(4)。而且,控制装置100通过处理器102的加密部126,获取存储于贮存器106的密钥对中的公钥(5)。然后,控制装置100通过处理器102的加密部126,使用公钥来对数据进行加密(6)。

控制装置100通过贮存器106的非易失性存储部162,来存储通过加密而获得的加密数据(7)。另外,在贮存器106中,存储有一个或多个加密数据。而且,控制装置100也经由外部接口112而将加密数据转发至外部贮存器300(8)。外部贮存器300对从控制装置100转发的加密数据进行存储(9)。另外,在外部贮存器300中,存储有一个或多个加密数据。

将如上所述的第1实施方式的加密工序汇总于图9所示的序列图中。图9是用于说明第1实施方式的控制系统1的加密工序的序列图。

如图9所示,当从支持装置200转发有数据时(sb2),控制装置100生成密钥对(sa2),并且将所生成的密钥对存储于贮存器106的非易失性存储区域中(sa4)。

接下来,控制装置100参照存储于主存储器104中的数据(sa6)。然后,控制装置100使用存储于贮存器106的密钥对中的公钥来对数据进行加密(sa8)。

控制装置100将通过加密而获得的加密数据存储于贮存器106的非易失性存储区域中(sa10),并也经由外部接口112而将加密数据转发至外部贮存器300(sa12)。外部贮存器300对从控制装置100转发的加密数据进行存储(sc2)。

这样,控制装置100能够对从支持装置200提供的数据进行加密,并将所述加密数据存储于非易失性贮存器106或外部贮存器300中。

(f3:第2实施方式的加密工序)

接下来,对本实施方式的加密工序中的、第2实施方式的加密工序进行说明。图10是用于说明第2实施方式的控制系统1的加密工序的功能框图。

图10所示的第2实施方式的加密工序是外部贮存器600对从支持装置200提供的数据进行存储的示例,与图8所示的第1实施方式的加密工序的不同之处仅在于,从外部贮存器600经由外部接口112而将数据转发至控制装置100的主存储器104,其他处理则与图8所示的示例相同。因此,不再进行更多的详细说明。另外,外部贮存器600既可为与外部贮存器300共同的贮存器,也可为与外部贮存器300不同的贮存器。

(f4:第3实施方式的加密工序)

接下来,对本实施方式的加密工序中的、第3实施方式的加密工序进行说明。图11是用于说明第3实施方式的控制系统1的加密工序的功能框图。

图11所示的第3实施方式的加密工序与图8所示的第1实施方式的加密工序或图10所示的第2实施方式的加密工序的不同之处在于,支持装置200将数据加密之后,将此加密数据转发至控制装置100。以下进行具体说明。

如图11所示,控制装置100将存储于贮存器106的密钥对中的公钥经由外部接口112而转发至支持装置200(1)。支持装置200使用公钥来对数据进行加密(2)。

支持装置200将通过加密而获得的加密数据经由外部接口112而转发至控制装置100的贮存器106及外部贮存器300(3)。

控制装置100通过贮存器106的非易失性存储部162来存储加密数据(4)。而且,在外部贮存器300中也存储加密数据(5)。

将如上所述的第3实施方式的加密工序汇总于图12所示的序列图中。图12是用于说明第3实施方式的控制系统1的加密工序的序列图。

如图12所示,控制装置100将存储于贮存器106的密钥对中的公钥经由外部接口112而转发至支持装置200(sa102)。

另一方面,支持装置200使用公钥来对数据进行加密(sb102)。然后,支持装置200将通过加密而获得的加密数据经由外部接口112而转发至控制装置100的贮存器106、及外部贮存器300(sb104)。

另一方面,控制装置100在贮存器106中存储加密数据(sa104)。而且,外部贮存器300也同样地存储加密数据(sc102)。

这样,从支持装置200提供的数据经加密后转发至控制装置100的贮存器106或外部贮存器300,加密数据被存储于贮存器106或外部贮存器300中。

(f5:解码工序)

接下来,对本实施方式的解码工序进行说明。图13是用于说明本实施方式的控制系统1的解码工序的功能框图。

如图13所示,当控制装置100启动时(1),将存储于外部贮存器300中的加密数据经由外部接口112而转发至控制装置100(2)。控制装置100通过处理器102的解码部128,参照存储于贮存器106中的加密数据、或者从外部贮存器300转发的加密数据(3)。

而且,控制装置100通过处理器102的解码部128,获取存储于贮存器106的密钥对中的私钥(4)。

控制装置100利用私钥来对加密数据进行解码(5)。然后,控制装置100通过主存储器104的易失性存储部142,来存储通过解码而获得的数据(6)。

控制装置100通过处理器102的运算部122,存储存储于主存储器104中的数据(7),并使用所述数据来执行处理(8)。

将如上所述的解码工序汇总于图14所示的序列图中。图14是用于说明本实施方式的控制系统1的解码工序的序列图。

如图14所示,外部贮存器300经由外部接口112而将加密数据转发至控制装置100(sc202)。另一方面,控制装置100参照存储于贮存器106中的加密数据、或者从外部贮存器300转发的加密数据(sa202)。

控制装置100使用存储于贮存器106的密钥对中的私钥,对加密数据进行解码(sa204)。然后,控制装置100将通过解码而获得的数据存储于主存储器104的易失性存储区域中(sa206)。

控制装置100参照存储于主存储器104中的数据(sa208),并使用所述数据来执行处理(sa210)。

这样,控制装置100能够对存储于贮存器106中的加密数据进行解码,并在用于对控制对象进行控制的处理等中使用。

(f6:密钥更换工序)

接下来,对本实施方式的密钥更换工序进行说明。图15是用于说明本实施方式的控制系统1的密钥更换工序的功能框图。

在所述密钥更换工序中,控制装置100对用于从支持装置提供的数据的加密及解码的密钥对进行更换。而且,控制装置100在进行密钥更换时,为了掌握密钥更换的作业经过而利用列表。本实施方式中,也将此种列表称作“旧加密数据列表”。图16的(a)至(d)是用于说明在本实施方式的控制系统1中,旧加密数据列表的更新例的图。

如图16的(a)至(d)所示,在旧加密数据列表中,作为与多个加密数据分别对应的项目,汇总有“no”、“名称”及“标记(flag)”。在“no”栏中,保存有对各加密数据分配的编号。在“名称”栏中,保存有各加密数据的名称。在“标记”栏中,保存有表示密钥更换的有无的信息,若为密钥更换前,则保存“0”,若为密钥更换后,则保存“1”。

图16的(a)至(d)所示的示例中,将与n个加密数据对应的各项目汇总于旧加密数据列表中。此种旧加密数据列表既可在密钥更换工序中由控制装置100的处理器102来制作,也可在加密工序中每当制作加密数据时由控制装置100的处理器102来制作或更新。

以下,除了图15,还参照图16的(a)至(d)所示的旧加密数据列表的更新例,来说明密钥更换工序。另外,以下的说明中,也将密钥更换前的密钥对称作旧密钥对(旧公钥、旧私钥),将密钥更换后的密钥对称作新密钥对(新公钥、新私钥)。

如图15所示,控制装置100在贮存器106中已存在旧密钥对的状态下,通过用户操作而受理了更换密钥的意旨的指令时(1),新生成密钥对(2)。另外,所述新密钥对的生成是相当于经过图7所示的(1b)的处理之后的(2)密钥对生成的处理。

控制装置100在生成新密钥对时,通过贮存器106的非易失性存储部162来存储新密钥对(3)。

控制装置100通过处理器102的解码部128,参照已存储于贮存器106中的旧加密数据(4)。例如,如图16的(a)至(d)所示,参照旧加密数据列表中所含的与no.1对应的加密数据1。

控制装置100通过处理器102的解码部128,获取存储于贮存器106的旧密钥对中的、加密数据1的旧私钥(5)。然后,控制装置100利用旧私钥来对旧加密数据1进行解码(6)。另外,在控制装置100处于运转中且已对加密数据进行了解码的情况下,也可省略(4)~(6)的处理。这样,便能够缩短密钥更换所需的时间。

控制装置100通过处理器102的加密部126,获取存储于贮存器106的新密钥对中的新公钥(7)。然后,控制装置100通过处理器102的加密部126,使用新公钥来对数据进行加密(8)。

控制装置100通过贮存器106的非易失性存储部162,将通过加密而获得的新加密数据存储于非易失性存储区域中(9)。这样,加密数据1的密钥更换完成。

当加密数据1的密钥更换完成时,控制装置100删除加密数据1,并且在旧加密数据列表中,对与加密数据1对应的项目进行更新(10)。例如,如图16的(a)、图16的(b)所示,与no.1的加密数据1对应的“标记”由“0”更新为“1”。

接下来,在存在多个加密数据的情况下,控制装置100也对尚未更换密钥的加密数据执行如上所述的(4)~(10)的处理。这样,例如图16的(b)、图16的(c)所示,与no.2的加密数据2对应的“标记”由“0”更新为“1”。当由控制装置100对保存在旧加密数据列表中的所有旧加密数据执行了(4)~(10)的处理时,如图16的(d)所示,与所有加密数据对应的“标记”变为“1”。

控制装置100在所有旧加密数据的密钥更换完成时,删除存储于贮存器106中的旧密钥对(旧公钥、旧私钥)(11),并且也删除旧加密数据列表(12)。

将如上所述的密钥更换工序汇总于图17所示的流程图中。图17是用于说明本实施方式的控制装置100的密钥更换工序的流程图。

如图17所示,控制装置100判定在贮存器106中已存在旧密钥对的状态下,是否通过用户操作而受理了更换密钥的意旨的指令(sa302)。控制装置100在未受理密钥更换指令的情况下(sa302中为否(no)),结束密钥更换工序的处理。

另一方面,控制装置100在受理了密钥更换指令的情况下(sa302中为是(yes)),新生成密钥对(sa304)。然后,控制装置100在贮存器106的非易失性存储区域中存储新密钥对(sa306)。

接下来,控制装置100参照已存储于贮存器106中的旧加密数据(sa308)。控制装置100使用存储于贮存器106的旧密钥对中的旧私钥,来对旧加密数据进行解码(sa310)。另外,在控制装置100处于运转中且已对加密数据进行了解码的情况下,也可省略(sa308)及(sa310)的处理。这样,便能够缩短密钥更换所需的时间。

控制装置100使用存储于贮存器106的新密钥对中的新公钥,对在sa310的处理中经加密的数据进行加密(sa312)。控制装置100将通过加密而获得的新加密数据,存储于贮存器106的非易失性存储区域中(sa314)。

控制装置100在一个加密数据的密钥更换完成时,删除所述一个加密数据,并且在旧加密数据列表中,对与所述一个加密数据对应的项目进行更新(sa316)。

控制装置100判定所有加密数据的密钥更换是否已完成(sa318)。控制装置100在所有加密数据的密钥更换尚未完成的情况下(sa318中为否),再次重复sa308~sa316的处理。

另一方面,控制装置100在所有加密数据的密钥更换已完成的情况下(sa318中为是),删除存储于贮存器106中的旧密钥对(旧公钥、旧私钥)(sa320),并且也删除旧加密数据列表(sa322)。随后,控制装置100结束密钥更换工序的处理。

这样,控制装置100能够对存储于贮存器106中的一个或多个加密数据的密钥对进行更换。

以上,如对于图8~图12所示的加密工序所说明的,控制装置100使用所生成的公钥,对从支持装置200提供的数据进行加密,因此能够防止从支持装置200提供的数据直接泄漏到外部。而且,如对于图13及图14所示的解码工序所说明的,当控制装置100进行处理时,控制装置100使用控制装置100所生成的私钥来对加密数据进行解码,并且控制装置100将经解码的数据存储于无法访问的易失性存储区域中,因此也能够防止经解码的数据泄漏到外部。

如对于图8及图9所示的第1实施方式的加密工序、及图10所示的第2实施方式的加密工序所说明的,控制装置100是单独对从支持装置200提供的数据进行加密,因此无须将控制装置100所生成的公钥转发至外部,不会使处理复杂化而能够防止数据的泄漏。

如对于图11及图12所示的第3实施方式的加密工序所说明的,支持装置200将数据以加密状态转发至控制装置100,因此能够防止数据在转发路径中泄漏,从而能够进一步强化数据的防泄漏。

进而,控制装置100使用依存于生成私钥及公钥时的控制装置100内的环境而变化的值来生成私钥及公钥,因此能够进一步强化数据的防泄漏。

而且,在同一批次(lot)的多个控制装置间,也使用每个装置所特有且无再现性的因数来生成私钥及公钥,因此能够针对每个装置而各别地进行不同的加密,从而能够进一步强化数据的防泄漏。

尤其,在如图10所示的第2实施方式的加密工序般,将用户使用支持装置200而制作的数据保存到外部贮存器600中的情况下,数据发生泄漏的可能性变高。但是,即使在此种情况下,由于是以经加密的状态而保存于外部贮存器600中,并且用于解码的私钥被存储在控制装置100内的无法从外部访问的贮存器106中,因此能够防止数据的泄漏。

如对于图7所示的密钥生成工序所说明的,当从外部转发有数据、受理了来自外部的指令、及控制装置100已启动中的至少其中任一个条件成立时,控制装置100生成私钥及公钥,因此控制装置100能够在适当的时机生成私钥及公钥。

如对于图15~图17所示的密钥更换工序所说明的,控制装置100能够对用于数据的加密及解码的密钥对进行更换,因此能够进一步强化数据的防泄漏。

进而,在图15~图17所示的密钥更换工序中,通过使用旧加密数据列表,即使在存在大量数据的情况下,控制装置100也能够不多不少地更换密钥对。而且,即使密钥更换被暂时中断,也能够通过在旧加密数据列表中参照“标记”来识别密钥更换的有无,因此即使在电源环境不稳定的现场,控制装置100也能够从中断时的状态更换密钥对。

<h.数据的核对>

接下来,对数据的核对进行说明。如本实施方式般,在数据以经加密的状态而存储于控制装置100中的情况下,难以核对数据的同一性。因此,本实施方式中,通过对加密之前的以明文记载的数据(以下也称作“原始数据(originaldata)”)的哈希值进行比较来核对同一性。以下,参照图18来说明使用原始数据的哈希值的数据核对。

图18是用于说明本实施方式的控制系统1中的数据核对的示意图。图18所示的示例中,设想从支持装置200对多个控制装置100进行原始数据的更新,在此更新过程中,对与存储于各控制装置100中的加密数据对应的原始数据、和存储于支持装置200中的更新数据进行比较。

具体而言,多个控制装置100a~100c分别将原始数据的哈希值关联于加密数据而预先存储于各贮存器106a~106c中。另一方面,支持装置200预先存储使用与原始数据的哈希值的计算时相同的哈希函数而算出的更新数据的哈希值。支持装置200将更新数据及哈希值转发至各控制装置100a~100c。

并且,各控制装置100a~100c对从支持装置200转发的更新数据的哈希值、与自身所存储的原始数据的哈希值进行比较,若两者相同,则判断为数据已得到更新而不进行原始数据的更新,若两者不同,则判断为数据尚未得到更新而进行原始数据的更新。

这样,控制装置100通过对与加密数据关联的哈希值进行核对,从而无须对加密数据进行解码便能够对数据进行核对,因此能够缩短核对所需的时间。

另外,数据的核对并不限于由控制装置100来执行。例如,也可从各控制装置100a~100c对支持装置200转发原始数据的哈希值,支持装置200对从各控制装置100a~100c转发的哈希值与自身所存储的更新数据的哈希值进行比较。并且,支持装置200在两者不同的情况下,也可对作为对象的控制装置100转发更新数据。

而且,各控制装置100a~100c也可存储多个原始数据的哈希值,此时,多个哈希值也可通过互不相同的哈希函数而算出。通过使用多个哈希值来进行数据的核对,从而能够极力抑制碰撞频率。

<i.附注>

如上所述,本实施方式中包含如下所述的揭示。

(结构1)

一种数据的处理方法,是在对控制对象进行控制的控制装置100中从支持装置200提供的数据的处理方法,其包括:

步骤(sa2),所述控制装置生成私钥及公钥;

步骤(sa10、sa104),所述控制装置获取通过利用所述公钥对所述数据进行加密所获得的加密数据;

步骤(sa204),当所述控制装置进行处理时,所述控制装置利用所述私钥来对所述加密数据进行解码;

步骤(sa206),所述控制装置将通过利用所述私钥对所述加密数据进行解码所获得的所述数据,存储至无法从外部访问的易失性存储区域中;以及

步骤(sa208、sa210),所述控制装置参照存储在所述存储区域中的所述数据来执行处理。

(结构2)

根据结构1所述的数据的处理方法,其中

所述加密数据是通过所述控制装置使用所述公钥对由所述支持装置所提供的所述数据进行加密而生成(sa8),

所述获取步骤包含获取所述控制装置所生成的所述加密数据的步骤。

(结构3)

根据结构1所述的数据的处理方法,其中

所述加密数据是通过所述支持装置使用所述公钥对所述数据进行加密而生成(sb102),

所述获取步骤包含获取由所述支持装置所转发的所述加密数据。

(结构4)

根据结构1至结构3中任一项所述的数据的处理方法,其中

所述控制装置在从外部转发有所述数据、受理了来自外部的指令、及所述控制装置已启动中的至少其中任一个条件成立时,执行所述生成步骤。

(结构5)

根据结构1至结构4中任一项所述的数据的处理方法,其包括:

步骤(sa304),在已存储有所述公钥及所述私钥的旧密钥对的情况下,所述控制装置新生成私钥及公钥的新密钥对;

步骤(sa310),所述控制装置利用所述旧密钥对的所述私钥,对通过利用所述旧密钥对的所述公钥进行加密所获得的所述加密数据进行解码;

步骤(sa312),所述控制装置利用所述新密钥对的所述公钥,对通过利用所述旧密钥对的所述私钥进行解码所获得的所述数据进行加密;

步骤(sa314),所述控制装置对通过利用所述新密钥对的所述公钥进行加密所获得的加密数据进行存储;以及

步骤(sa320),所述控制装置删除所述旧密钥对。

(结构6)

根据结构1至结构4中任一项所述的数据的处理方法,其包括:

步骤(sa304),在已存储有所述公钥及所述私钥的旧密钥对的情况下,所述控制装置新生成私钥及公钥的新密钥对;

步骤(sa310),所述控制装置利用所述旧密钥对的所述私钥,从通过利用所述旧密钥对的所述公钥进行加密所获得的多个所述加密数据中,对至少一个所述加密数据进行解码;

步骤(sa312),所述控制装置利用所述新密钥对的所述公钥,对通过利用所述旧密钥对的所述私钥进行解码所获得的所述数据进行加密;

步骤(sa314),所述控制装置对通过利用所述新密钥对的所述公钥进行加密所获得的加密数据进行存储;以及

步骤(sa320),当通过利用所述旧密钥对的所述公钥进行加密所获得的多个所述加密数据全部利用所述新密钥对的所述公钥进行了加密时,所述控制装置删除所述旧密钥对。

(结构7)

根据结构6所述的数据的处理方法,其包括:

步骤(sa316),所述控制装置从将与通过利用所述旧密钥对的所述公钥进行加密所获得的多个所述加密数据分别对应的项目汇总的列表中,删除与通过利用所述新密钥对的所述公钥进行加密所获得的加密数据对应的项目;以及

步骤(sa322),当因通过利用所述旧密钥对的所述公钥进行加密所获得的多个所述加密数据全部利用所述新密钥对的所述公钥进行了加密而所有的所述项目已被删除时,所述控制装置删除所述列表。

(结构8)

根据结构1至结构7中任一项所述的数据的处理方法,其中

所述控制装置使用依存于生成所述私钥及所述公钥时的所述控制装置内的环境而变化的值,来生成所述私钥及所述公钥。

(结构9)

根据结构1至结构8中任一项所述的数据的处理方法,其中

所述控制装置将所述数据的哈希值关联于跟所述数据对应的所述加密数据予以存储。

(结构10)

根据结构1至结构9中任一项所述的数据的处理方法,其中

所述数据是所述控制装置对所述控制对象进行控制的程序的源代码。

(结构11)

一种控制系统1,其包括对控制对象进行控制的控制装置100、及对所述控制装置提供数据的支持装置200,其中

所述控制装置包括:

生成部件124,生成私钥及公钥;

获取部件112、128,获取通过利用所述公钥对所述数据进行加密所获得的加密数据;

解码部件128,当进行处理时,利用所述私钥来对所述加密数据进行解码;

存储部件162,将通过利用所述私钥对所述加密数据进行解码所获得的所述数据,存储至无法从外部访问的易失性存储区域中;以及

执行部件122,参照存储在所述存储区域中的所述数据来执行处理。

(结构12)

一种控制装置100,其使用从支持装置200提供的数据来对控制对象进行控制,其包括:

生成部件124,生成私钥及公钥;

获取部件112、128,获取通过利用所述公钥对所述数据进行加密所获得的加密数据;

解码部件128,当进行处理时,利用所述私钥来对所述加密数据进行解码;

存储部件162,将通过利用所述私钥对所述加密数据进行解码所获得的所述数据,存储至无法从外部访问的易失性存储区域中;以及

执行部件122,参照存储在所述存储区域中的所述数据来执行处理。

应认为,此次揭示的实施方式在所有方面仅为例示,并非限制者。本发明的范围是由权利要求而非所述说明所示,且意图包含与权利要求均等的含义及范围内的所有变更。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1