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

数据分发系统、数据处理装置及程序的制作方法

2022-03-02 01:24:53 来源:中国专利 TAG:


1.本发明涉及数据分发系统、数据处理装置及程序。


背景技术:

2.在专利文献1中记载有信息提供装置经由协调服务器将内容数据发送至终端。为了防止从协调单元即协调服务器泄漏数据,在信息处理装置和终端之间对被加密的数据进行收发。具体而言,信息处理装置和终端各自具有公共密钥,针对所发送的数据,信息提供装置通过公共密钥对数据进行加密,将加密后的数据发送至协调服务器。协调服务器将从信息提供装置接收到的数据发送至终端。终端通过主题公共密钥对从协调服务器接收到的数据进行解密。
3.另外,作为经由协调单元的通信,有时采用发布/订阅型模型。原因在于,通过采用发布/订阅型模型,能够使系统的扩展性提高。在遵照发布/订阅型模型的通信中,协调单元即代理器将由发布器发布的消息分发给订阅消息的订阅器。在遵照发布/订阅型模型的通信中,由于经由代理器交换消息,因此有时需要将消息加密。
4.专利文献1:日本特开2013-118427号公报


技术实现要素:

5.在专利文献1所记载的结构中,需要针对信息处理装置和终端的各个组合准备公共密钥。例如,如果由于终端的数量增加而使数据的供给目标增加,则需要与增加的终端的数量对应地准备公共密钥。这样,在数据的供给目标即终端的数量增加的情况下,公共密钥的生成、公共密钥的分发等处理的负荷变大。
6.在遵照发布/订阅型模型的通信中,与专利文献1相同地,预想到在订阅器的数量增加的情况下,公共密钥的生成、公共密钥的分发等处理的负荷也变大。
7.本发明就是鉴于上述实情而提出的,其目的在于在遵照发布/订阅型模型进行通信时,即使在数据的供给目标增加的情况下,也会减轻用于加密通信的处理负担。
8.为了达成上述目的,在本发明涉及的数据分发系统中,多个客户端部遵照发布/订阅型模型进行通信,该多个客户端部包含第1客户端部和至少1个第2客户端部。第1客户端部所具有的主题公共密钥管理部将主题公共密钥供给至第2客户端部,该主题公共密钥被与对消息的发送目标进行确定的主题相关联且对以主题为发送目标的消息进行加密/解密。第1客户端部所具有的消息管理部在以主题为目标发送消息的情况下,发送由与主题相关联的主题公共密钥加密后的消息,在接收到以主题为发送目标的消息的情况下,通过与主题相关联的主题公共密钥对接收到的消息进行解密。第2客户端部所具有的存储部以与对主题进行识别的识别信息相关联的方式对从第1客户端部供给来的主题公共密钥进行存储。第2客户端部所具有的消息管理部在以主题为目标发送消息的情况下发送由主题公共密钥加密后的消息,在接收到以主题为发送目标的消息的情况下通过主题公共密钥对接收到的消息进行解密。
9.发明的效果
10.在本发明涉及的数据分发系统中,多个客户端部遵照发布/订阅型模型进行通信,该多个客户端部包含第1客户端部和至少1个第2客户端部。第1客户端部将主题公共密钥供给至第2客户端部,该主题公共密钥被与对消息的发送目标进行确定的主题关联起来,对以主题为发送目标的消息进行加密/解密。第2客户端部在以主题为目标发送消息的情况下对由主题公共密钥加密后的消息进行发送,在接收到以主题为发送目标的消息的情况下通过主题公共密钥对接收到的消息进行解密。这样,多个客户端部通过与主题相关联的主题公共密钥对消息进行加密/解密。因此,不需要针对数据的供给源和数据的供给目标的各个组合而准备密钥,即使在数据的供给目标增加的情况下,也能够减轻用于加密通信的处理负担。
附图说明
11.图1是表示本发明的实施方式涉及的数据处理系统的结构的框图。
12.图2是表示实施方式涉及的数据处理装置的硬件结构的框图。
13.图3是表示实施方式涉及的数据处理装置的功能结构的框图。
14.图4是用于说明实施方式涉及的遵照发布/订阅型模型的消息传递的图。
15.图5是表示在实施方式涉及的主题公共密钥存储部中储存的数据的一个例子的图。
16.图6是表示实施方式涉及的消息的一个例子的图。
17.图7是表示在实施方式涉及的客户端公开密钥存储部中储存的数据的一个例子的图。
18.图8是表示在实施方式涉及的订阅设定存储部中储存的数据的一个例子的图。
19.图9是表示实施方式涉及的主题公共密钥管理部的功能结构的框图。
20.图10是表示在实施方式涉及的主题公共密钥存储部中储存的数据的一个例子的图。
21.图11是实施方式涉及的客户端的收发处理的流程图。
22.图12是实施方式涉及的平台的收发处理的流程图。
23.图13是表示变形例1涉及的数据处理装置的功能结构的框图。
24.图14是表示变形例2涉及的数据处理装置的功能结构的框图。
25.图15是表示具有层级化构造的数据的例子的图。
具体实施方式
26.(实施方式)
27.下面,一边参照附图,一边对本发明的实施方式涉及的数据处理装置进行详细说明。
28.实施方式涉及的数据处理装置10例如如图1所示经由网络701与fa仪器601及602连接,构成数据处理系统1。在实施方式中,数据处理装置10例如是与fa仪器601及602配置于相同工厂内的ipc(industrial personal computer)。
29.数据处理装置10对由fa仪器601及602所具有的传感器取得的数据进行收集。fa仪
器601及602所具有的传感器例如为振动传感器、温度传感器、压力传感器、流量传感器。数据处理装置10例如从fa仪器601及602对数据进行收集,对收集到的数据执行加工处理、解析处理等决定好的处理。下面,有时将fa仪器601及602称为fa仪器600。
30.如图2所示,数据处理装置10作为硬件结构具有:cpu(central processing unit)11,其对数据处理装置10整体进行控制;存储器12,其对各种程序及数据进行存储;通信接口13,其经由网络701与其它装置进行通信;以及输入设备14及输出设备15,它们为用户接口。存储器12、通信接口13、输入设备14和输出设备15经由总线19与cpu 11连接,各自与cpu 11进行通信。
31.cpu 11通过执行在存储器12存储的程序,从而执行后述处理。
32.存储器12包含易失性存储器和非易失性存储器。存储器12对用于实现数据处理装置10的各种功能的程序进行储存。而且,存储器12被用作cpu 11的工作存储器。
33.通信接口13包含网络接口电路,在cpu 11的控制下,经由网络701与fa仪器600进行通信。网络701例如是遵循现场网络的标准的网络。
34.输入设备14包含输入键、定点设备等。输入设备14接收来自用户的操作输入,将表示用户的操作输入的信号输出至cpu 11。用户例如是数据处理装置10的管理者。
35.输出设备15包含显示器、扬声器等。输出设备15将基于从cpu 11供给来的信号的图像显示于显示器。输出设备15从扬声器输出基于从cpu 11供给来的信号的声音。
36.如图3所示,数据处理装置10包含:客户端101及102,它们执行决定好的数据处理;平台200,其进行一系列数据处理的控制;以及数据分发部300,其对数据的交换进行协调。在图3中,省略了客户端102的功能结构的图示,但客户端102具有与客户端101相同的功能。下面,有时将客户端101及102总称为客户端100。客户端100是本发明的第2客户端部的一个例子。平台200是本发明的第1客户端部的一个例子。数据分发部300是本发明的协调单元的一个例子。
37.客户端100进行决定好的处理。例如,客户端101执行从fa仪器600对数据进行收集的处理,客户端102执行收集到的数据的解析处理。
38.在多个客户端100协作地进行数据处理的情况下,平台200对数据处理的流程进行控制。例如,平台200对客户端100设定数据处理的顺序。
39.数据分发部300对客户端100和平台200之间的数据的交换进行协调。而且,数据分发部300对客户端100间的数据的交换进行协调。在实施方式中,客户端101及102、平台200、数据分发部300由具有各自的功能的应用实现。
40.在实施方式中,数据处理装置10的各功能部遵照发布/订阅型模型对数据进行收发。在发布/订阅型模型中,将消息发送侧的应用称为发布器,将消息接收侧的应用称为订阅器。将对发布器和订阅器的数据交换进行协调的应用称为代理器。
41.在图4中示出遵照发布/订阅型模型的消息传递的一个例子。发布器p1、p2生成消息,将生成的消息发送至代理器b1。有时将发布器p1、p2发送消息称为发布。发布器p1、p2能够对主题t1、t2、t3中的任意者进行指定而发布消息。主题t1、t2、t3表示由发布器发布的消息所包含的信息的主题。订阅器s1、s2对主题t1、t2、t3中的任意者进行指定而对代理器请求消息的分发。有时将对由订阅器s1、s2发布的消息进行接收称为订阅。代理器b1向订阅器s1、s2发送各自订阅的主题的消息。这样,各主题的消息被分发至主题的订阅器。因此,主题
对消息的发送目标进行确定。
42.在图4所示的例子中,发布器p2对主题t2进行指定而将消息m2发送至代理器b1。订阅器s1、s2对主题t2进行指定而对代理器b1请求订阅。在该情况下,代理器b1将从发布器p1接收到的主题t2的消息m2发送至订阅器s1、s2。
43.在遵照发布/订阅型模型的消息传递中,发布器不需要知道自身所发送的消息由谁接收。另外,订阅器也不需要知道接收到的消息是由谁发送的。由于发布器和订阅器的结合度低,因此在使用遵照发布/订阅型模型的消息传递的情况下,系统的可扩展性高。
44.在图3所示的数据处理装置10中,客户端100作为订阅器或发布器进行动作。平台200作为发布器或订阅器进行动作。数据分发部300作为代理器进行动作。客户端100、平台200均能够针对任意主题作为发布器和订阅器进行动作。例如,客户端101从fa仪器600对数据进行收集,客户端102对收集到的数据进行加工。在该情况下,客户端101作为发布器进行动作,客户端102作为订阅器进行动作即可。客户端101将收集到的数据发送至代理器即数据分发部300。数据分发部300将数据分发至订阅器即客户端102。客户端102对接收到的数据进行加工。
45.在实施方式中,平台200在分发消息前,例如,基于用户预先设定的订阅的设定,将主题设定于作为代理器进行动作的数据分发部300。例如,平台200在数据分发部300启动时,对主题进行设定。而且,平台200例如在客户端100启动时,将对订阅对象的主题进行指定的参数设定于客户端100。客户端100基于所设定的参数,对数据分发部300请求主题的订阅。
46.作为实施方式的特征性结构,作为发布器进行动作的客户端100或平台200对包含被加密的数据的消息进行发送。作为订阅器进行动作的客户端100或平台200对接收到的消息所包含的数据进行解密。针对相同主题的数据的加密、解密使用相同密钥。平台200在对消息进行收发前,将与主题相关联的密钥分发至主题的发布器和订阅器。下面,将与主题相关联的密钥称为主题公共密钥。主题的发布器需要通过与所发布的主题相关联的主题公共密钥将主题的消息加密。主题的订阅器需要通过与主题相关联的主题公共密钥将接收到的消息解密。
47.发布器将数据加密而进行发送的理由如下。例如,非法的客户端100被追加于数据处理装置10,变更了数据分发部300的各个主题的消息的分发目标的设定。在该情况下,非法的客户端100能够对消息进行接收,或者非法的客户端100能够对消息进行发送。因此,平台200在对消息进行收发前对客户端100进行验证,将主题公共密钥供给至合法的客户端100。例如,平台200对包含由主题公共密钥加密后的数据的消息进行发送。经由数据分发部300接收到包含被加密的数据的消息的客户端100仅在具有与该主题对应的主题公共密钥的情况下,能够将消息所包含的数据解密。由于非法的客户端100不具有主题公共密钥,因此无法进行数据的加密、解密。
48.接下来,对为了进行上述处理,客户端100、平台200各自所具有的功能进行说明。
49.如图3所示,客户端100具有消息收发i/f(interface)部110、客户端密钥存储部120、客户端证书管理部130、客户端证书发送部140、主题公共密钥存储部150、主题公共密钥取得部160、消息管理部170。
50.消息收发i/f部110是与数据分发部300对消息进行收发的接口。消息收发i/f部
110的功能由图2所示的cpu 11实现。
51.图3所示的客户端密钥存储部120对客户端100的公开密钥和秘密密钥进行存储。客户端100例如在刚被启动后以决定好的方法生成客户端100的公开密钥和秘密密钥,将公开密钥和秘密密钥储存于客户端密钥存储部120。详情会在后面叙述,客户端100的公开密钥在平台200将主题公共密钥供给至客户端100时使用。客户端密钥存储部120的功能由图2所示的存储器12实现。
52.图3所示的客户端证书管理部130对从认证机构发行的客户端证书进行保管。客户端证书是证明客户端100是合法的客户端的证书,是由认证机构发行的电子证书。认证机构既可以是通过了监察法人的审查的公共认证机构,也可以是数据处理装置10的提供源这样的私人认证机构。客户端证书预先被嵌入于实现客户端100的功能的应用。客户端证书管理部130的功能由图2所示的cpu 11、存储器12实现。
53.图3所示的客户端证书发送部140将由客户端证书管理部130保管的客户端证书,经由消息收发i/f部110发送至数据分发部300。例如,客户端证书发送部140对订阅对象的主题进行指定而将包含客户端证书的消息发送至数据分发部300。包含客户端证书的消息例如是以决定好的格式生成的。
54.包含客户端证书的消息经由数据分发部300被发送至平台200。例如,也可以对用于将客户端证书供给至平台200的主题进行设定。在该情况下,客户端100向该主题发布包含客户端证书的消息即可。或者,也可以将平台200设定为足以取得客户端证书的主题的订阅器。例如,也可以将平台200设定为由各客户端100订阅的主题中的至少1个主题的订阅器。
55.也存在客户端100的订阅对象的主题大于或等于两个的情况,但客户端100对平台200发送1次客户端证书即可。例如,客户端证书发送部140也可以以从平台200指定的订阅对象的主题中的例如第一个主题为发送目标,发送客户端证书。客户端证书发送部140是本发明的客户端证书发送单元的一个例子。客户端证书发送部140的功能由图2所示的cpu 11实现。
56.图3所示的主题公共密钥存储部150对从平台200供给来的主题公共密钥进行存储。如图5所示,主题公共密钥存储部150以与对主题进行识别的信息相关联的方式对主题公共密钥进行存储。主题公共密钥存储部150的功能由图2所示的存储器12实现。
57.图3所示的主题公共密钥取得部160在经由消息收发i/f部110从数据分发部300接收到的消息包含主题公共密钥的情况下,将主题公共密钥储存于主题公共密钥存储部150。主题公共密钥取得部160例如能够根据消息的格式,对接收到的消息是否包含主题公共密钥进行判别。由于主题公共密钥被客户端100的公开密钥加密,因此主题公共密钥取得部160通过在客户端密钥存储部120储存的客户端100的秘密密钥将接收到的主题公共密钥解密,取得主题公共密钥。主题公共密钥取得部160将主题公共密钥与对主题进行确定的信息一起储存于主题公共密钥存储部150。
58.此外,有时订阅相同主题的客户端100存在大于或等于两个。详情会在后面叙述,平台200通过客户端100各自的公开密钥将主题公共密钥加密,将包含被加密的主题公共密钥的消息以该主题为发送目标而发送至数据分发部300。因此,客户端100的主题公共密钥取得部160有时对包含用于其它客户端100的主题公共密钥的消息进行接收。但是,由于主
题公共密钥取得部160无法通过自身的公开密钥对用于其它客户端100的主题公共密钥进行解密,因此将该消息废弃。主题公共密钥取得部160的功能由图2所示的cpu 11实现。
59.图3所示的消息管理部170对消息的收发进行管理。具体而言,消息管理部170如果经由消息收发i/f部110从数据分发部300接收到消息,则通过由主题公共密钥存储部150存储的主题公共密钥对消息所包含的数据进行解密。如图6所示,由消息管理部170接收的消息包含表示消息的发送目标的信息、消息正文。对于发送目标,指定了对主题进行识别的信息。例如,消息管理部170将解密后的数据供给至客户端100所具有的未图示的数据处理部。数据处理部对解密后的数据执行决定好的加工处理。
60.消息管理部170仅对决定好的格式的消息进行处理。例如,消息管理部170有时对由订阅相同主题的其它客户端100发送的包含客户端证书的消息进行接收,但在这样的情况下,消息管理部170将该消息废弃。消息管理部170是本发明的第2消息管理单元的一个例子。消息管理部170的功能由图2所示的cpu 11实现。
61.在图3所示的客户端100作为发布器进行动作的情况下,消息管理部170通过由主题公共密钥存储部150存储的主题公共密钥对从未图示的数据处理部供给来的已加工的数据进行加密。消息管理部170生成包含加密后的数据的消息,将消息经由消息收发i/f部110发送至数据分发部300。
62.如图3所示,平台200具有消息收发i/f部210、认证机构公开密钥存储部220、客户端证书验证部230、客户端公开密钥存储部240、订阅设定存储部250、主题公共密钥管理部260、消息管理部270。
63.消息收发i/f部210是与数据分发部300对消息进行收发的接口。消息收发i/f部210的功能由图2所示的cpu 11实现。
64.图3所示的认证机构公开密钥存储部220对由认证机构公开的认证机构的公开密钥进行存储。认证机构的公开密钥预先被嵌入于实现平台200的功能的应用。认证机构公开密钥存储部220的功能由图2所示的存储器12实现。
65.图3所示的客户端证书验证部230在经由消息收发i/f部210从数据分发部300接收到的消息包含客户端证书的情况下,对客户端证书的签名进行验证。客户端证书验证部230例如能够根据消息的格式对接收到的消息是否包含客户端证书进行判别。
66.具体而言,客户端证书验证部230使用在认证机构公开密钥存储部220储存的认证机构的公开密钥,将客户端证书所包含的认证机构的签名解密,取得哈希值。而且,客户端证书验证部230根据客户端证书所包含的客户端100的公开密钥及识别信息而生成哈希值。客户端证书验证部230对从认证机构的签名取得的哈希值与根据客户端100的公开密钥及识别信息生成的哈希值是否一致进行判别。如果判别为两个哈希值一致,则客户端证书验证部230判别为客户端证书的签名验证成功,以与识别信息相关联的方式将客户端证书所包含的客户端100的公开密钥储存于客户端公开密钥存储部240。如果客户端证书的签名验证成功,则客户端证书验证部230对主题公共密钥管理部260通知该状况。客户端证书验证部230的功能由图2所示的cpu 11实现。
67.图3所示的客户端公开密钥存储部240对客户端100的公开密钥进行存储。如图7所示,客户端公开密钥存储部240以与识别信息相关联的方式对客户端100的公开密钥进行存储。客户端公开密钥存储部240的功能由图2所示的存储器12实现。
68.图3所示的订阅设定存储部250对允许订阅主题的客户端100的信息进行存储。如图8所示,订阅设定存储部250将对主题进行确定的信息与对客户端100进行识别的识别信息相关联地存储。在图示的例子中,允许订阅主题t1的消息的是客户端101、102。允许订阅主题t2的消息的是客户端101。用户预先将需要的数据储存于订阅设定存储部250。订阅设定存储部250的功能由图2所示的存储器12实现。
69.图3所示的主题公共密钥管理部260在收发消息前生成主题公共密钥,将主题公共密钥供给至客户端100。如图9所示,主题公共密钥管理部260包含主题公共密钥生成部261、主题公共密钥存储部262、主题公共密钥发送部263。主题公共密钥管理部260的功能由图2所示的cpu 11、存储器12实现。
70.主题公共密钥生成部261针对各个主题生成主题公共密钥。密钥的生成方法是任意的。例如,主题公共密钥生成部261也可以根据生成主题公共密钥的日期及时刻的信息对哈希值进行计算,而且生成随机数,将组合了哈希值和随机数的值作为主题公共密钥。或者,主题公共密钥生成部261也可以根据对主题进行识别的信息、日期及时刻的信息来计算哈希值,而且生成随机数,将组合了哈希值和随机数的值作为主题公共密钥。或者,主题公共密钥生成部261也可以使用加密算法来生成主题公共密钥。
71.主题公共密钥生成部261将生成的主题公共密钥以与对主题进行识别的信息相关联的方式储存于主题公共密钥存储部262。主题公共密钥生成部261例如在平台200刚启动后针对各个主题而生成主题公共密钥。另外,如果由用户创建了新的主题,则主题公共密钥生成部261生成所对应的主题公共密钥。包含被创建出的主题的识别信息的与主题相关的信息由用户预先储存于存储器12。
72.主题公共密钥存储部262针对各个主题对由主题公共密钥生成部261生成的主题公共密钥进行存储。如图10所示,主题公共密钥存储部262以与对主题进行识别的信息相关联的方式对主题公共密钥进行存储。关于数据处理装置10内的全部主题的主题公共密钥被储存于平台200的主题公共密钥存储部262。主题t1的主题公共密钥是本发明的第1公共密钥的一个例子。主题t2的主题公共密钥是本发明的第2公共密钥的一个例子。
73.图9所示的主题公共密钥发送部263将在主题公共密钥存储部262储存的主题公共密钥供给至允许订阅主题的客户端100。
74.具体而言,主题公共密钥发送部263如果从图3所示的客户端证书验证部230接收到客户端证书的签名验证已成功这一状况的通知,则基于在订阅设定存储部250储存的数据,对该客户端100所订阅的主题进行确定。如图9所示,主题公共密钥发送部263从主题公共密钥存储部262取得所确定的主题的主题公共密钥。主题公共密钥发送部263从客户端公开密钥存储部240取得该客户端100的客户端公开密钥。主题公共密钥发送部263通过客户端公开密钥将主题公共密钥加密,生成包含加密后的主题公共密钥的消息,对主题进行指定而将消息经由消息收发i/f部110发送至图3所示的数据分发部300。
75.在客户端100订阅了多个主题的情况下,主题公共密钥发送部263以如下方式对主题公共密钥进行分发。例如,如图8所示,客户端101订阅了主题t1、主题t2。在该情况下,主题公共密钥发送部263从图5所示的主题公共密钥存储部262取得主题t1、主题t2的主题公共密钥,从图7所示的客户端公开密钥存储部240取得客户端101的公开密钥。
76.主题公共密钥发送部263通过客户端101的公开密钥将主题t1的主题公共密钥加
密,以主题t1为发送目标而将包含加密后的主题t1的主题公共密钥的消息发送至数据分发部300。而且,主题公共密钥发送部263通过客户端101的公开密钥将主题t2的主题公共密钥加密,以主题t2为发送目标而将包含加密后的主题t2的主题公共密钥的消息发送至数据分发部300。
77.或者,主题公共密钥发送部263也可以集中地将主题公共密钥发送至相同客户端100。主题公共密钥发送部263也可以通过客户端101的公开密钥将主题t1的主题公共密钥和主题t2的主题公共密钥加密,将包含加密后的数据的消息发送至数据分发部300。例如,主题公共密钥发送部263也可以对多个主题中的主题的识别信息的值最小的主题,例如主题t1进行指定,将包含主题公共密钥的消息发送至数据分发部300。
78.图3所示的消息管理部270对消息的收发进行管理。具体而言,消息管理部270如果经由消息收发i/f部210从数据分发部300接收到消息,则通过由主题公共密钥管理部260存储的主题公共密钥对消息所包含的数据进行解密。例如,消息管理部270将解密后的数据供给至平台200所具有的未图示的数据处理部。数据处理部对数据执行决定好的处理。
79.另外,消息管理部270通过由主题公共密钥管理部260存储的主题公共密钥将所发行的数据加密。消息管理部270生成包含加密后的数据的消息,将消息经由消息收发i/f部210发送至数据分发部300。消息管理部270是本发明的第1消息管理单元的一个例子。消息管理部270的功能由图2所示的cpu 11实现。
80.图3所示的数据分发部300如果接收到以任意主题为发送目标的消息,则将消息发送至该主题的订阅器。
81.接下来,对客户端100收发消息的一系列处理进行说明。客户端100如果启动,则执行图11所示的收发处理。例如,客户端100通过用户对输入设备14进行操作而启动。此外,客户端100预先具有客户端证书。
82.客户端证书发送部140将包含由客户端证书管理部130保管的客户端证书的消息发送至数据分发部300(步骤s11)。如果经由消息收发i/f部110从数据分发部300接收到消息(步骤s12;yes),则主题公共密钥取得部160对接收到的消息是否包含主题公共密钥进行判别(步骤s13)。主题公共密钥取得部160如果判别为接收到的消息包含主题公共密钥(步骤s13;yes),则通过在客户端密钥存储部120储存的客户端100的秘密密钥将消息所包含的被加密的主题公共密钥解密(步骤s14)。如果解密成功(步骤s15;yes),则主题公共密钥取得部160将解密后的主题公共密钥与主题的识别信息一起储存于主题公共密钥存储部150(步骤s16)。另一方面,如果在步骤s15中解密失败(步骤s15;no),则主题公共密钥取得部160将该消息废弃,再次进行步骤s12的处理。
83.在步骤s13中,如果主题公共密钥取得部160判别为接收到的消息不包含主题公共密钥(步骤s13;no),则消息管理部170对是否具有关于接收到的消息的主题的主题公共密钥进行判别(步骤s17)。消息管理部170在主题公共密钥被储存于主题公共密钥存储部150的情况下,判别为具有主题公共密钥(步骤s17;yes),通过主题公共密钥将消息所包含的数据解密(步骤s18),对接收到的数据进行决定好的处理(步骤s19)。
84.另外,在客户端100作为发布器进行动作的情况下,消息管理部170在没有从数据分发部300接收到消息的情况下(步骤s12;no),同样地,如果成为发布数据的定时(timing)(步骤s20;yes),则对是否在主题公共密钥存储部150储存有主题公共密钥进行判别(步骤
s21)。消息管理部170在主题公共密钥存储部150储存有主题公共密钥的情况下(步骤s21;yes),通过主题公共密钥将所发送的数据加密(步骤s22),经由消息收发i/f部110将包含加密后的数据的消息发送至数据分发部300(步骤s23)。以上是客户端100的收发处理。
85.接下来,对由平台200进行的主题公共密钥的分发及消息的收发涉及的处理进行说明。如果平台200启动,则执行图12所示的收发处理。例如,平台200通过用户对输入设备14进行操作而启动。此外,认证机构的公开密钥预先被储存于平台200的认证机构公开密钥存储部220。而且,平台200生成各主题的主题公共密钥而储存于主题公共密钥存储部150。
86.如图12所示,如果经由消息收发i/f部210从数据分发部300接收到消息(步骤s31;yes),则客户端证书验证部230对接收到的消息是否包含客户端证书进行判别(步骤s32)。
87.客户端证书验证部230如果判别为接收到的消息包含客户端证书(步骤s32;yes),则对消息所包含的客户端证书的签名进行验证(步骤s33)。具体而言,客户端证书验证部230通过在认证机构公开密钥存储部220储存的认证机构的公开密钥,将客户端证书所包含的认证机构的签名解密,取得哈希值。而且,客户端证书验证部230根据客户端证书所包含的客户端100的公开密钥及识别信息生成哈希值。客户端证书验证部230在从认证机构的签名取得的哈希值与根据客户端100的公开密钥及识别信息生成的哈希值一致的情况下,判别为客户端证书的签名验证成功。
88.如果客户端证书的签名验证成功(步骤s34;yes),则客户端证书验证部230将从客户端证书取得的客户端公开密钥储存于客户端公开密钥存储部240(步骤s35)。
89.接下来,主题公共密钥管理部260的主题公共密钥发送部263通过客户端公开密钥将发送至客户端100的主题公共密钥加密(步骤s36)。具体而言,主题公共密钥发送部263基于在订阅设定存储部250储存的数据对允许客户端100订阅的主题进行确定,从主题公共密钥存储部262取得该主题的主题公共密钥。主题公共密钥发送部263从客户端公开密钥存储部240取得客户端100的公开密钥,通过客户端100的公开密钥将主题公共密钥加密。
90.主题公共密钥发送部263经由消息收发i/f部110将包含加密后的主题公共密钥的消息发送至数据分发部300(步骤s37)。
91.在步骤s32中,如果客户端证书验证部230判别为接收到的消息不包含客户端证书(步骤s32;no),则消息管理部270从主题公共密钥存储部262取得关于接收到的消息的主题的主题公共密钥,通过主题公共密钥将接收到的消息所包含的数据解密(步骤s38)。之后,消息管理部270对接收到的数据进行决定好的处理(步骤s39)。
92.另外,在平台200作为发布器进行动作的情况下,消息管理部270在没有从数据分发部300接收到消息的情况下(步骤s31;no),同样地,如果成为发布数据的定时(步骤s40;yes),则通过在主题公共密钥存储部262储存的主题公共密钥,将所发送的数据加密(步骤s41),经由消息收发i/f部210将包含加密后的数据的消息发送至数据分发部300(步骤s42)。
93.如以上说明过那样,在实施方式涉及的数据处理装置10中,对相同主题进行发行/订阅的客户端100和平台200使用针对各个主题生成的主题公共密钥进行消息的加密/解密。在实施方式涉及的结构中,不需要针对发布器和订阅器的各个组合准备密钥。例如,有时通过对数据处理装置10追加执行某数据处理的应用,从而订阅主题的订阅器增加。在这样的情况下,也不需要为了增加的订阅器而生成密钥,将已生成的主题公共密钥供给至所
追加的订阅器即可。
94.而且,由于针对各个主题而生成主题公共密钥,因此与针对发布器和订阅器的各个组合准备密钥的情况相比,能够降低平台200的密钥的生成、密钥的管理等处理负担。
95.平台200在将主题公共密钥供给至客户端100前,对由客户端100提供的客户端证书的签名进行验证,对客户端100是否是合法的客户端进行判别。平台200在验证失败的情况下,不向该客户端100供给主题公共密钥。由于平台200具有这样的结构,因此仅合法的客户端100能够取得订阅主题所需要的主题公共密钥。
96.在实施方式中,说明了由客户端证书管理部130保管的客户端证书预先被嵌入于实现客户端100的功能的应用中的例子。即使是这样的结构的没有连接至外部网络的数据处理装置10,平台200也能够进行客户端100的验证。原因在于,例如,从安全性的观点出发,在工厂自动化的领域中使用的计算机没有连接至外部的网络。在该情况下,数据处理装置10不需要连接至外部网络而追溯证书链,因此存在能够避免与外部网络的连接相伴的安全风险的优点。
97.(变形例1)
98.在实施方式中,对客户端100经由数据分发部300将客户端证书发送至平台200的例子进行了说明,但并不限于此。如图13所示,客户端100的客户端证书发送部140与平台200的客户端证书验证部230也可以不经由数据分发部300而是直接进行通信。在该情况下,客户端证书发送部140将客户端证书的文件直接发送至客户端证书验证部230。这样,也可以是客户端证书发送部140和客户端证书验证部230不依赖于遵照发布/订阅模型的通信,而是直接对客户端证书进行收发。
99.在图13所示的结构中,由某个客户端100发送的客户端证书没有被分发至平台200之外的设备。例如,客户端100有时对客户端证书和不希望由平台200之外的设备取得的数据进行发送。在这样的情况下,通过设为图13所示那样的结构,能够不将由客户端100发送的数据提供给平台200之外的设备。
100.(变形例2)
101.在实施方式、变形例1中,平台200经由数据分发部300将主题公共密钥供给至客户端100,但并不限于此。例如,如图14所示,平台200的主题公共密钥管理部260与客户端100的主题公共密钥取得部160也可以不经由数据分发部300而是直接进行通信。例如,主题公共密钥管理部260也可以将包含主题公共密钥的文件直接发送至主题公共密钥取得部160。这样,主题公共密钥管理部260和主题公共密钥取得部160也可以不依赖于遵照发布/订阅模型的通信,而是直接对主题公共密钥进行收发。通过设为图14所示的结构,能够更有效地防止主题公共密钥的非法取得、滥用。
102.(变形例3)
103.在实施方式中,如图9所示,对平台200的主题公共密钥管理部260具有主题公共密钥生成部261、主题公共密钥存储部262的例子进行了说明,但并不限于此。主题公共密钥管理部260也可以不具有主题公共密钥生成部261和主题公共密钥存储部262。主题公共密钥管理部260并非是自身生成主题公共密钥,而是从其它计算机所具有的存储单元取得该主题公共密钥。例如,在平台200启动后,主题公共密钥发送部263取得由其它计算机保管的主题公共密钥,将取得的主题公共密钥供给至客户端100即可。在该情况下,数据处理装置10
能够经由网络与其它计算机进行通信。
104.(变形例4)
105.在实施方式中,说明了由客户端证书管理部130保管的客户端证书预先被嵌入于实现客户端100的功能的应用中的例子,但并不限于此。
106.客户端证书管理部130也可以从认证机构取得客户端证书。例如,客户端证书管理部130在客户端100刚启动后对认证机构请求证书的签名。在该情况下,数据处理装置10能够经由外部网络与认证机构进行通信。外部网络例如是互联网那样的开放式网络。客户端100将在客户端密钥存储部120储存的客户端100的公开密钥、对公开密钥的所有者即客户端100进行识别的客户端100的识别信息发送至认证机构,请求证书的签名。
107.认证机构如果基于客户端100的识别信息,判别为对客户端100的证书进行签名也没有问题,则根据从客户端100接收到的公开密钥及识别信息而生成签名。例如,为了生成签名,认证机构根据客户端100的公开密钥及识别信息而生成哈希值,通过认证机构的秘密密钥将哈希值加密。加密后的哈希值为认证机构的签名。认证机构将向客户端100的公开密钥及识别信息添加了签名的客户端证书供给至客户端100。客户端证书管理部130对从认证机构供给来的客户端证书进行保管。
108.在数据处理装置10能够经由外部网络与认证机构进行通信的情况下,而且平台200的客户端证书验证部230在客户端证书的验证失败的情况下,也可以经由外部网络从认证机构取得公开密钥,通过取得的认证机构的公开密钥对客户端证书进行验证。原因在于,例如,存在客户端100所利用的认证机构被变更,客户端100所利用的认证机构没有预先登记于平台200这样的情况。在这样的情况下,优选平台200的客户端证书验证部230对证书链进行追溯。如果由根认证机构进行的验证成功,则客户端证书验证部230判别为客户端证书的验证成功。通过根据证书链进行阶段性的认证,能够使安全性提高。
109.在实施方式中,说明了平台200作为发布器进行动作,客户端100作为订阅器进行动作的例子,但并不限于此。例如,也可以是1个客户端100作为发布器进行动作,平台200和其它客户端100作为订阅器进行动作。另外,也可以是针对各个主题,发布器不同。例如,也可以是主题t1的发布器为平台200,主题t2的发布器为客户端100。另外,也可以对1个主题设定大于或等于两个发布器。在上述那样的情况下,平台200也进行主题公共密钥的生成和分发。
110.在实施方式中,如果主题公共密钥的解密失败,即,在接收到的主题公共密钥被其它客户端100的公开密钥加密的情况下,客户端100将该主题公共密钥废弃。由此,客户端100仅能够取得以自身为目标的主题公共密钥。或者,平台200也可以使包含加密后的主题公共密钥的消息包含作为发送目标的客户端100的识别信息。在该情况下,客户端能够根据消息所包含的识别信息,对是否是以自身为目标的消息进行判别。
111.主题也可以具有层级构造。例如,由数据处理装置10收集的数据具有图15所示那样的层级化构造。例如,将从设备1收集的数据定义为1个主题。设备1设置于工厂f内的生产线1上的装置a。在该情况下,例如,能够将该主题表示为“工厂f/生产线1/装置a/设备1”。订阅器也可以在对代理器请求主题的订阅时对最低层级的主题进行指定。例如,订阅器也可以对“工厂f/生产线1/装置a/设备1”进行指定。在该情况下,代理器将从设备1收集到的数据分发至订阅器。或者,订阅器也可以在请求主题订阅时设为高层级的主题。例如,订阅器
也可以对“工厂f/生产线1/装置a”进行指定。在该情况下,代理器将从设备1、设备2、设备3收集到的数据分发至订阅器。
112.并非必须每个主题各准备一个主题公共密钥。例如,平台200也可以对高层级的主题生成主题公共密钥,对低层级的主题也使用相同的主题公共密钥。例如,平台200对“工厂f/生产线1”生成主题公共密钥。在该情况下,对订阅了设备1的主题的订阅器、订阅了设备2的主题的订阅器、订阅了设备3的主题的订阅器供给相同的主题公共密钥。
113.在上面叙述了平台200能够使包含主题公共密钥的消息包含作为发送目标的客户端100的识别信息,但例如,平台200也可以通过如下方法对发送目标进行指定。平台200对通过作为发送目标的客户端的识别信息分类的主题进行定义。平台200在客户端101、102订阅了主题t1的主题的情况下,以“主题t1/客户端101”、“主题t1/客户端102”这样的方式对主题进行定义。平台200在将主题公共密钥发送至客户端101的情况下,对“主题t1/客户端101”进行指定而发送消息。平台200在将主题公共密钥发送至客户端102的情况下,对“主题t1/客户端102”进行指定而发送消息。
114.在实施方式中,说明了在平台200的订阅设定存储部250预先储存有关于允许订阅主题的客户端100的信息的例子,但并不限于此。平台200也可以不具有订阅设定存储部250。在该情况下,例如,客户端100也可以存储有自身订阅的主题的信息,将对所订阅的主题进行确定的信息和客户端证书一起发送至平台200。平台200基于与客户端证书一起接收到的对主题进行确定的信息,将需要的主题公共密钥发送至客户端100即可。
115.在实施方式中,对数据处理装置10包含客户端101及102、平台200、数据分发部300的例子进行了说明,但并不限于此。例如,也可以由可经由网络相互通信的4个计算机实现客户端101、102、平台200、数据分发部300的功能。
116.另外,例如,也可以是在由外部的系统事业提供者提供的服务器上运行的应用作为代理器即数据分发部300起作用。或者,也可以是云上的服务作为代理器起作用。
117.在实施方式中,说明了数据处理装置10具有执行对数据进行收集的处理的客户端101、执行所收集到的数据的解析处理的客户端102的例子,但并不限于此。
118.例如,数据处理装置10也可以进一步具有客户端103,该客户端103将基于解析结果的反馈供给至fa仪器600。在该情况下,客户端102发行包含表示解析结果的数据的消息,客户端103对该消息进行订阅。例如,客户端103基于表示接收到的消息所包含的解析结果的数据,对fa仪器600进行诊断,基于诊断结果对fa仪器600进行控制。例如,为了对fa仪器600即可编程逻辑控制器进行诊断,基于诊断结果对可编程逻辑控制器进行控制,客户端103也可以将控制所需要的值写入至可编程逻辑控制器的特定的存储区域。
119.如上所述,数据处理装置10中的发布器通过各个主题所固有的主题公共密钥将数据加密,发行加密后的数据。例如,在将外部服务器、云上的服务用作代理器的情况下,数据的泄露风险变高,但通过对加密后的数据进行收发,发布器和订阅器能够安全地进行数据交换。
120.作为对上述程序进行记录的记录介质,能够使用包含磁盘、光盘、光磁盘、闪存、半导体存储器、磁带的计算机可读取的记录介质。
121.本发明在不脱离广义的精神和范围的情况下,能够设为各种实施方式及变形。另外,上述实施方式用于对本发明进行说明,并不是对本发明的范围进行限定。即,本发明的
范围不是由实施方式表示,而是由权利要求书表示的。而且,将在权利要求范围内及与其等同的发明意义的范围内实施的各种变形视为落在本发明的范围内。
122.标号的说明
123.b1代理器,p1、p2发布器,s1、s2订阅器,1数据处理系统,t1、t2、t3主题,m1、m2消息,10数据处理装置,11cpu,12存储器,13通信接口,14输入设备,15输出设备,19总线,101、102(100)客户端,110、210消息收发i/f部,120客户端密钥存储部,130客户端证书管理部,140客户端证书发送部,150、262主题公共密钥存储部,160主题公共密钥取得部,170、270消息管理部,200平台,220认证机构公开密钥存储部,230客户端证书验证部,240客户端公开密钥存储部,250订阅设定存储部,260主题公共密钥管理部,261主题公共密钥生成部,263主题公共密钥发送部,300数据分发部,601、602(600)fa仪器,701网络
再多了解一些

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

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

相关文献