一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理系统、数据处理装置及应用程序的验证方法与流程

2021-11-20 07:42:00 来源:中国专利 TAG:


1.本发明涉及具有应用程序的验证功能的数据处理系统、数据处理装置及应用程序的验证方法。


背景技术:

2.近年来,在以工厂为代表的设施中,通过从设施内收集数据而进行处理,从而实现生产工序、检查工序、其它工序的管理和改善。在工业界,对在现场收集到的数据进行分析而应用于现场的改善的趋势正在升高。与此相伴,成为用于对数据进行分析而实施改善活动的系统的基础的平台,或者与该平台协作地进行动作而进行数据的收集、分析的应用程序分别被提供给用户。
3.对用户所持有的应用程序是由正规的应用供应商提供的应用程序,还是被篡改后的应用程序进行区分通常对于用户来说是非常困难的。认为在执行了被篡改后的应用程序的情况下,产生数据被破坏,或者现场的机密数据泄露至存在恶意的第三方等严重的损害。
4.在专利文献1中,以如下方式使应用程序自身内设有对基于签名信息创建的私密信息的合法性进行确认的功能(篡改查验例程),即,通过对数据实施电子签名,由os程序对其进行查验而对签名信息的合法性进行确认,进而,即使在签名者自身抱有恶意地对附属于应用程序的数据进行篡改而重新进行了签名的情况下,计算机也能够检测出篡改。当通过该功能而由应用程序自身判断出在附属于应用程序的数据中存在篡改的情况下,中止应用程序的执行(参照专利文献1)。
5.专利文献1:日本特开2014-48866号公报


技术实现要素:

6.在使用了专利文献1的系统的情况下,例如当在平台的管理团队进行了应用程序的甄别而对其发行了签名之后,附属于应用程序的数据(源数据、辅助文件)被篡改的情况下,能够对该篡改进行检测。但是,篡改的查验功能依赖于应用程序,因此,在应用程序被篡改,改变为篡改查验例程不起作用的情况下,计算机无法检测出应用程序的篡改。因此,计算机有时无法中止被篡改的应用程序的执行。
7.本发明就是鉴于上述情况而提出的,其目的在于提供能够高精度地对应用程序的篡改进行检测的验证技术。
8.本发明涉及的数据处理系统具有进行应用程序的验证的验证单元,该应用程序具有通过认证机构所持有的第1私钥预先加密后的认证数据,验证单元取得在执行应用程序所包含的验证用函数时在存储器展开的信息即动态信息,与通过使用预先持有的对应于第1私钥的第1公钥对认证数据实施解密而得到的验证用动态信息进行对比,由此进行应用程序的验证。
9.本发明涉及的数据处理装置具有:公钥储存部,其对认证机构的公钥进行储存;认证数据解密部,其使用公钥对认证数据进行解密,该认证数据是通过与公钥对应的认证机
构的私钥而被预先加密、嵌入至应用程序的数据;以及匹配性确认部,其从存储器取得在执行应用程序所包含的验证用函数时在存储器展开的信息即动态信息,将取得的动态信息与通过对认证数据实施解密而得到的验证用动态信息进行对比,由此进行应用程序的验证。
10.本发明涉及的应用程序的验证方法具有以下步骤:使用与认证机构的私钥对应的认证机构的公钥对认证数据进行解密,该认证数据是通过私钥而被加密、嵌入至应用程序的数据;从认证数据提取验证用动态信息;从存储器取得在执行应用程序所包含的验证用函数时在存储器展开的动态信息;以及通过将取得的动态信息与验证用动态信息进行对比而进行应用程序的验证。
11.发明的效果
12.在本发明的数据处理系统、数据处理装置及应用程序的验证方法中,将在执行了应用程序所包含的验证用函数时在存储器展开的信息用于应用程序是否为正规品的验证,因此,能够高精度地对应用程序的篡改进行检测。
附图说明
13.图1是表示本发明的实施方式涉及的数据处理系统的硬件结构的图。
14.图2是表示本发明的实施方式涉及的数据处理装置的硬件结构的图。
15.图3是表示本发明的实施方式涉及的数据处理系统的系统结构的图。
16.图4是表示本发明的实施方式涉及的应用程序的认证的流程的图。
17.图5是表示本发明的实施方式涉及的应用程序的验证方法的图。
18.图6是表示本发明的实施方式涉及的数据处理部以及数据处理控制部的系统结构的图。
19.图7是表示本发明的实施方式涉及的应用程序的验证的流程的流程图。
20.图8是表示本发明的实施方式涉及的数据处理系统的系统结构的变形例的图。
具体实施方式
21.以下,一边参照附图一边对本发明的实施方式涉及的数据处理系统、数据处理装置及应用程序的验证方法详细地进行说明。
22.实施方式.
23.本实施方式涉及的数据处理系统是对从设备发送来的数据进行处理的系统。数据处理系统被作为产品的生产系统而设置于工厂。由数据处理系统进行的数据的处理例如是为了实现不合格品的检测以及将其从制造工序剔除、材料的分类或者异常的监视而执行的。数据处理系统由用户设定对数据实施的处理的内容。图1示出数据处理系统的硬件结构。数据处理系统具有在产品的制造工序中运转的设备201、202和对从设备201、202发送来的数据进行处理的数据处理装置100。
24.数据处理装置100经由网络210而与设备201、202连接,通过与设备201、202之间收发信号而彼此进行通信。数据处理装置100与设备201、202都经由网络210而连接,但也可以经由不同规格的网络而连接。网络210是工业用网络。此外,网络210也可以是用于实现时序通信的专用线路。
25.设备201是具有在产品的制造工序中利用的传感器201a的控制装置。传感器201a
例如是光传感器、压力传感器、超声波传感器及其它检测器。设备201将包含由传感器201a得到的感测结果的数据以由数据处理装置100指定的周期反复发送至数据处理装置100。该周期例如是10ms、100ms或者1sec。
26.设备202例如是在产品的制造工序中利用的致动器或者机器人。设备202根据由数据处理装置100得到的数据的处理结果而运转。详细地说,作为数据的处理结果,如果设备202从数据处理装置100接收到对运转模式的指定、运转开始以及运转停止的任一者进行指示的动作指令,则按照该动作指令而变更运转状态。
27.下面,将与数据处理装置100连接的设备201、202统称地记作设备200。将数据处理装置100与设备200连接的数据的传送路径不限定于网络210这样的有线通信的传送路径,也可以是无线通信的传送路径。
28.设备200不限定于发送包含感测结果在内的数据的设备和按照来自数据处理装置100的动作指令而运转的设备的任一者。设备200也可以是向数据处理装置100发送数据并且按照来自数据处理装置100的动作指令而运转的设备。设备200的个数不限定于2个。
29.数据处理装置100是plc、工业用电脑,是对从设备200收集到的数据实施预先设定的处理而输出处理结果的fa(factory automation)装置。数据处理装置100向设备200发送动作指令作为处理结果的输出,但不限定于此,也可以将对数据进行分析或者加工后的品质管理信息提示给用户,也可以向数据处理装置100自身或者外部的服务器装置累积品质管理信息。
30.图2示出数据处理装置100的硬件结构。数据处理装置100是具有处理器101、主存储部102、辅助存储部103、输入部104、输出部105和通信部106的计算机。主存储部102、辅助存储部103、输入部104、输出部105以及通信部106都经由内部总线107而与处理器101连接。
31.处理器101包含mpu(micro processing unit)。处理器101通过执行在辅助存储部103存储的程序而实现数据处理装置100的各种功能,执行后述的处理。
32.主存储部102包含ram(random access memory)。程序被从辅助存储部103加载至主存储部102。并且,主存储部102被用作处理器101的作业区域。
33.辅助存储部103包含以eeprom(electrically erasable programmable read

only memory)为代表的非易失性存储器。辅助存储部103除了程序以外还存储处理器101的处理所使用的各种数据。辅助存储部103按照处理器101的指示,将处理器101所利用的数据供给至处理器101,对从处理器101供给的数据进行存储。此外,在辅助存储部103存储有多个程序。或者,程序包含在数据处理装置100预先设定的程序和由数据处理装置100的用户追加的程序。
34.输入部104包含以输入键以及指点设备为代表的输入设备。输入部104取得由数据处理装置100的用户输入的信息,将取得的信息通知给处理器101。
35.输出部105包含以显示装置以及扬声器为代表的输出设备。输出部105按照处理器101的指示将各种信息提示给用户。
36.通信部106包含用于与外部的设备200进行通信的网络接口电路。通信部106从设备200接收信号而将由该信号表示的数据向处理器101输出。另外,通信部106将表示从处理器101输出的数据的信号向设备200发送。
37.图3表示本发明的实施方式涉及的数据处理系统的系统结构。数据处理系统由数
据处理装置100和设备201、202构成。数据处理装置100由工程设计工具140、数据处理平台110、数据收集部131、132、数据处理部121a、121b以及验证数据发送部150构成。
38.工程设计工具140具有由用户对数据处理的内容进行设定的数据处理控制设定部141。工程设计工具140是通过将在辅助存储部103存储的软件读入至主存储部102,由处理器101执行该软件而实现的。数据处理的内容的设定由用户经由输入部104进行。
39.数据处理平台110具有:设定信息构建部111,其接收从工程设计工具140接收到的设定信息数据;设定信息累积部112,其将构建出的设定信息累积下来;以及数据处理控制部113,其对累积下来的设定信息进行解析而对数据收集部131、132和数据处理部121a、121b作出指示。设定信息构建部111、设定信息累积部112以及数据处理控制部113是通过将在辅助存储部103存储的程序读入至主存储部102,由处理器101执行该程序而实现的。设定信息累积部112将设定信息累积至辅助存储部103。
40.数据收集部131、132具有如下功能,即,按照数据处理控制部113的指示从设备201、202收集数据,将该数据传输至数据处理控制部113,并且,将从数据处理控制部113接收到的数据传输至设备201、202。来自数据处理控制部113的指示中例如包含收集的数据的种类、收集周期等信息。数据收集部131、132是通过将在辅助存储部103存储的程序读入至主存储部102,由处理器101执行该程序而实现的。与设备201、202之间的通信使用通信部106。数据收集部131、132被插入于设备200与数据处理控制部113之间,具有接口的转换的功能。即使设备200通过通信协议不同的网络而连接,也会吸收通信协议的差异,在数据处理平台110侧以指定的形式进行与数据处理控制部113之间的通信。
41.数据处理部121a、121b按照数据处理控制部113的指示对从数据处理控制部113传输来的数据进行处理。数据处理部121a、121b是通过将由应用供应商310提供的、在辅助存储部103存储的程序作为应用程序而读入至主存储部102,由处理器101执行该程序而实现的。数据处理控制部113赋予给数据处理部121a、121b的指示中例如包含输出数据时的数据形式(位数)等参数。赋予给数据处理部121a、121b的参数依赖于数据处理部121a、121b。数据处理部121a、121b各自独立地进行处理,但通过数据处理控制部113的介入,从而能够实质上协作地进行处理。例如,有时是数据处理部121a从感测数据去除噪声的应用程序,有时是数据处理部121b对感测数据进行分析而进行设备201的异常有无的诊断的应用程序。在这种情况下,首先,数据处理控制部113将从设备201收集到的感测数据赋予给数据处理部121a,由数据处理部121a将噪声去除,从数据处理部121a接收去除了噪声的感测数据。然后,数据处理控制部113将去除了噪声的感测数据赋予给数据处理部121b,使其执行设备201的异常有无的诊断。这样,通过数据处理控制部113的动作,从而使数据处理部121a、121b实质上进行协作而进行数据处理。
42.验证数据发送部150在应用程序的验证时从存储器取得验证用数据而发送至数据处理控制部113。验证数据发送部150是通过由数据处理部121a、121b调用、执行验证用模块而实现的功能部。验证用模块是由平台提供者预先准备、提供给用户的,验证数据发送部具有用于与数据处理控制部113进行安全通信的接口功能。验证用模块例如是以dll(dynamic link library,动态链接库)文件的形式而提供的。
43.接下来,使用图4对应用程序305的认证的流程进行说明。数据处理部121a、121b能够通过由用户320将应用供应商310提供的应用程序305安装至数据处理装置100而追加。应
用程序305为了保证其性能,接受认证机构300(平台提供者)的认证,在嵌入了认证信息304的状态下提供给用户320。
44.应用供应商310将应用程序305独有的信息即应用执行时信息302传输至认证机构300。在本实施方式中,应用执行时信息302是在数据处理装置100等计算机执行应用程序305时生成的动态信息。作为该动态信息的具体例,举出在函数调用时在堆栈区域中确保的信息等在应用程序305的执行时在运行应用程序305的数据处理装置100内的存储器上展开的信息。具体地说,应用程序305具有用于输出验证用数据即应用执行时信息的验证用函数,在该验证用函数的堆栈存储器(在执行验证用函数时被分配给验证用函数的存储器上的堆栈区域)中确保的信息被用作应用执行时信息302。在该堆栈区域中确保的信息例如是记录了以验证用函数为首的一系列调用源函数的数据的集合,包含与各函数的返回地址相关的信息。作为在堆栈存储器中确保的信息以外的具体例,应用执行时信息302也可以是执行预先确定的验证用函数时的全局变量在存储器上的地址信息、作为全局变量而储存的值等。此外,这里,存储器不限定于数据处理装置100的主存储部102,也可以连同处理器101内部的缓存器在内,使用在缓存器上展开的信息。认证机构300将应用执行时信息302和认证信息304汇总,创建由认证机构私钥301加密后的认证数据303,提供给应用供应商310。认证机构私钥301相当于第1私钥。这里,认证信息304是指认证机构300所创建的电子签名,是保证认证数据303是由认证机构300创建的这一情况的电子数据。接下来,应用供应商310将接收到的认证数据303嵌入至开发出的应用程序305而提供给用户320。由此,接受到认证机构300的认证的应用程序305被提供给用户320。应用执行时信息302相当于验证用动态信息。
45.接下来,使用图5对应用程序305的验证方法进行说明。在数据处理装置100中,通过执行应用程序305而实现的数据处理部121将认证数据303传输至数据处理控制部113。数据处理控制部113通过自身持有的认证机构公钥401对输出的认证数据303进行解密,得到解密后的认证信息304和应用执行时信息302。认证机构公钥401与在认证数据303的创建时使用的认证机构私钥301成为一对,能够对由认证机构私钥301加密后的认证数据303进行解密,由认证机构私钥301加密后的认证数据303只能由认证机构公钥401进行解密。认证机构公钥401相当于第1公钥。
46.数据处理控制部113从解密后的认证数据303取得认证信息304,对认证数据303是由认证机构300认证过的正规品进行验证。并且,在判断为认证数据303是由正规的认证机构300认证后的正规品的情况下,数据处理控制部113取得在执行应用程序305时生成的信息即应用执行时信息402。数据处理控制部113经由验证数据发送部150而从存储器403取得应用执行时信息402。验证数据发送部是通过由数据处理部121所持有的验证用函数122调用而执行验证用模块来实现的。验证数据发送部150读取在执行验证用函数122的状态下在存储器403展开的信息而发送至数据处理控制部113。验证用模块是由平台提供者提供的,验证数据发送部150经由预先规定的专用的接口功能而向数据处理控制部113发送数据,因此,应用程序305无法对应用执行时信息402进行伪装。此外,数据处理控制部113也可以不经由验证数据发送部150,而是通过直接读取在验证用函数122的执行时在存储器403展开的信息而取得应用执行时信息402。在这种情况下,也是从存储器403取出应用执行时信息402,因此,应用程序305无法对应用执行时信息402进行伪装。在改变了应用程序305的情况下,在存储器403内展开的信息(在堆栈区域中确保的返回值的地址等)发生变化,因此,通
过使用在存储器403展开的信息,从而能够高精度地对应用程序305的改变进行检测。数据处理控制部113对从解密后的认证数据303取出的应用执行时信息302与新取得的应用执行时信息402之间的匹配性进行验证,对被嵌入至应用程序305的认证数据303是针对该应用程序305发行的这一情况进行确认。应用执行时信息402相当于动态信息。
47.接下来,使用图6对数据处理部121以及数据处理控制部113的系统结构进行说明。数据处理部121具有数据处理执行部500、认证数据储存部501、认证数据发送部505、应用私钥储存部502、加密/解密部503和发布密钥储存部504。数据处理执行部500对从数据处理控制部113接收到的数据进行数据处理。认证数据储存部501对加密后的认证数据303进行储存。认证数据发送部505将认证数据303向数据处理控制部113发送。应用私钥储存部502对应用私钥进行储存。应用私钥被预先嵌入至应用程序305。应用私钥相当于第2私钥。加密/解密部503进行向数据处理控制部113发送的数据的加密以及从数据处理控制部113接收到的数据的解密。发布密钥储存部504对在后面说明的发布密钥进行储存。数据处理执行部500、认证数据储存部501、加密/解密部503是通过由处理器101执行应用程序305而实现的。另一方面,认证数据储存部501、应用私钥储存部502以及发布密钥储存部504由辅助存储部103实现。
48.数据处理控制部113具有认证机构公钥储存部511、认证数据解密部512、认证信息提取部513、应用执行时信息提取部514、应用公钥提取部515、匹配性确认部516、应用公钥储存部517、发布密钥生成部518、发布密钥储存部519和加密/解密部520。认证数据解密部512、认证信息提取部513、应用执行时信息提取部514、应用公钥提取部515以及匹配性确认部516构成验证部521。验证部521相当于验证单元。认证机构公钥储存部511储存有预先由认证机构300赋予的认证机构公钥401。认证数据解密部512从数据处理部121的认证数据发送部505接收加密后的认证数据303,使用在认证机构公钥储存部511储存的认证机构公钥401而进行认证数据303的解密。认证信息提取部513从解密后的认证数据303提取认证信息304而传输至匹配性确认部516。应用执行时信息提取部514从解密后的认证数据303提取应用执行时信息302而传输至匹配性确认部516。应用公钥提取部515从解密后的认证数据303提取应用公钥,将应用公钥储存于应用公钥储存部517。应用私钥与应用公钥是成对的。应用公钥相当于第2公钥。匹配性确认部516进行从认证信息提取部513接收到的认证信息304的验证,进行认证数据303是否为由正规的认证机构300认证过的认证数据的验证。另外,匹配性确认部516进行从应用执行时信息提取部514接收到的应用执行时信息302的验证,对认证数据303是针对实现数据处理部121的应用程序305发行的这一情况进行确认。认证数据解密部512、认证信息提取部513、应用执行时信息提取部514、应用公钥提取部515和匹配性确认部516是通过由处理器101执行与各部分对应的程序模块而实现的。认证机构公钥储存部511和应用公钥储存部517由辅助存储部103实现。
49.发布密钥生成部518当在匹配性确认部516中得到了数据处理部121的合法性的确认的情况下,生成发布密钥而储存于发布密钥储存部519。另外,该发布密钥在加密/解密部520中被使用在应用公钥储存部517储存的应用公钥进行加密,传输至数据处理部121。另一方面,数据处理部121由于在应用私钥储存部502中持有与应用公钥成对的应用私钥,因此,能够在加密/解密部503中对由应用公钥加密后的发布密钥进行解密。另外,仅数据处理部121持有与应用公钥成对的应用私钥,因此,除数据处理部121以外都无法对由该应用公钥
加密后的数据(发布密钥)进行解密。因此,数据处理控制部113与数据处理部121能够安全地共享发布密钥。这里,发布密钥生成部518以及加密/解密部520是通过由处理器101执行彼此对应的程序模块而实现的。发布密钥储存部519由辅助存储部103实现。
50.发布密钥是对数据处理控制部113使数据处理部121处理的数据进行发送时以及将数据处理部121处理后的数据返回至数据处理控制部113时的数据的加密以及解密所使用的公共密钥。在对数据处理控制部113使数据处理部121处理的数据进行发送时,数据被加密/解密部520使用发布密钥而加密,被加密/解密部503使用发布密钥而解密。另一方面,在将数据处理部121处理后的数据返回至数据处理控制部113时,数据被加密/解密部503使用发布密钥而加密,被加密/解密部520使用发布密钥而解密。通过使用被安全地共享的发布密钥,从而能够在数据处理控制部113与数据处理部121之间实现安全的数据的交换。
51.使用图7的流程图对数据处理控制部113中的应用程序305的验证的流程进行说明。首先,认证数据解密部512使用在认证机构公钥储存部511储存的认证机构公钥401进行从数据处理部121的认证数据储存部501取得的认证数据303的解密(s101)。接下来,进行解密后的认证数据303所包含的认证信息304的验证,进行认证数据303是否为由正规的认证机构300认证过的认证数据的确认(s102)。这里,在认证数据303不是由正规的认证机构300发行的数据的情况下,禁止应用程序305的执行(s110)。另一方面,在成功确认了认证数据303是由正规的认证机构300发行的数据的情况下,数据处理控制部113从存储器403取得应用执行时信息402(s103)。
52.接下来,数据处理控制部113通过对解密后的认证数据303所包含的应用执行时信息302与取得的应用执行时信息402进行对比而进行应用执行时信息302的验证(s104)。在验证的结果为没有成功确认出合法性的情况下,禁止应用程序305的执行(s110)。另一方面,在成功确认了合法性的情况下,允许应用程序305的数据处理。
53.另外,在成功确认了应用程序305的合法性的情况下,从解密后的认证数据303提取应用公钥而储存于应用公钥储存部517(s105)。然后,发布密钥生成部518创建在数据处理控制部113和数据处理部121中进行数据的交换时的数据的加密以及解密所使用的公共密钥即发布密钥,储存于发布密钥储存部519(s106)。然后,加密/解密部520使用应用公钥而对发布密钥进行加密(s107),向数据处理部121发送加密后的发布密钥(s108)。发布密钥相当于数据发布用公共密钥。
54.然后,虽然未图示,但在数据处理部121中,使用与应用公钥成对的应用私钥,进行使用应用公钥而加密后的发布密钥的解密,将该发布密钥储存于发布密钥储存部504。与应用公钥成对的应用私钥仅由数据处理部121持有,因此,除数据处理部121以外都无法进行使用应用公钥而加密后的发布密钥的解密。因此,能够在数据处理控制部113与数据处理部121之间安全地进行发布密钥的共享。由此,能够实现数据处理控制部113与数据处理部121之间的加密通信。
55.接下来,使用图8对数据处理系统的系统结构的变形例进行说明。在图3所示的数据处理系统中,数据处理部121a、121b和数据处理控制部113设置于相同的数据处理装置100,但有时优选在能够进行高速的运算处理的其它数据处理装置中进行数据处理。因此,在图8所示的数据处理系统的系统结构中,数据处理部121c设置于与数据处理装置100不同的外部处理装置180上。这里,数据处理装置100与外部处理装置180经由网络而连接,以数
据处理控制部113与数据处理部121c能够进行通信的方式构成。
56.当在其它控制装置上安装有应用程序的情况下,有时被从其它控制装置赋予伪装后的认证信息,难以进行应用程序的合法性的验证。但是,在本实施方式的应用程序的验证方法中,数据处理部121c通过由数据处理部121c持有的验证用函数122调用而执行由平台提供者提供的验证用模块,从而在外部处理装置180上设置验证数据发送部152。验证数据发送部152具有用于与数据处理控制部113进行通信的接口功能,因此,即使在应用程序305设置于外部处理装置180上的情况下,数据处理控制部113也能够取得外部处理装置180的存储器上的信息即应用执行时信息302。因此,即使在应用程序305设置于外部处理装置180上的情况下,也能够实现应用程序305的合法性的验证。
57.标号的说明
58.100数据处理装置,101处理器,102主存储部,103辅助存储部,104输入部,105输出部,106通信部,107内部总线,110数据处理平台,111设定信息构建部,112设定信息累积部,113数据处理控制部,121、121a、121b、121c数据处理部,122验证用函数,131、132数据收集部,140工程设计工具,141数据处理控制设定部,150、152验证数据发送部,180外部处理装置,200、201、202设备,201a传感器,210网络,300认证机构,301认证机构私钥,302应用执行时信息,303认证数据,304认证信息,310应用供应商,305应用程序,320用户,401认证机构公钥,402应用执行时信息,403存储器,500数据处理执行部,501认证数据储存部,502应用私钥储存部,503加密/解密部,504发布密钥储存部,505认证数据发送部,511认证机构公钥储存部,512认证数据解密部,513认证信息提取部,514应用执行时信息提取部,515应用公钥提取部,516匹配性确认部,517应用公钥储存部,518发布密钥生成部,519发布密钥储存部,520加密/解密部,521验证部。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献