控制系统、程序发送装置、认证服务器、程序保护方法、程序发送方法以及程序发送装置的程序的制作方法

文档序号:8548035阅读:349来源:国知局
控制系统、程序发送装置、认证服务器、程序保护方法、程序发送方法以及程序发送装置的程序的制作方法
【技术领域】
[0001]本发明涉及控制系统、程序发送装置程序、认证服务器、程序保护方法以及程序发送方法。
【背景技术】
[0002]在工厂自动化(Factory.Automat1n:FA)系统中,配置有用于控制工场内的生产设备的动作的控制器。该控制器被称为可编程逻辑控制器(Programmable.Logic.Controller:PLC)。用于使PLC进行动作的控制程序使用梯形图等语言进行设计。使用梯形图程序开发环境将设计出的控制程序变换成执行用控制程序,并经由通信线缆写入至PLC。如上所述,将开发控制程序、并向PLC写入控制程序的装置称为开发用计算机。
[0003]梯形图程序开发环境作为在Windows (注册商标)上运行的软件被大量地出售。如果具有运行Windows (注册商标)的计算机、和梯形图程序开发环境,则能够使用计算机容易地进行向PLC写入执行用控制程序、和从PLC读出执行用控制程序。因此,近年来发生了下述问题,即,从已经在工场中取得运转实绩的PLC中抽取执行用控制程序,模仿该程序而制作出用于控制其他生产设备的动作的PLC。
[0004]为了应对如上所述的问题,采取了用于防止在FA系统中改用模仿品的各种对策。作为一个具体例子,根据专利文献1,在向PLC写入控制程序的执行用控制程序时,开发用计算机将执行用控制程序加密而转送至PLC。在执行控制程序时,PLC解析预先生成的加密规则,提取已在开发用计算机中登记的控制仪器固有的信息。而且,介绍了下述技术,即,PLC基于提取出的控制仪器固有的信息,确认执行用控制程序是否是控制仪器(PLC)固有的程序,如果是固有的程序,则通过在PLC中解密出执行用控制程序,从而保护PLC内部的数据。
[0005]专利文献1:日本特开2008-65678号公报

【发明内容】

[0006]在专利文献I所示的方式中,执行用控制程序的加密、解密所需的信息由开发用计算机进行管理,因此,存在下述课题,即,如果盗取开发用计算机,则能够容易地得到执行用控制程序的解密所需的密钥,因此,无法保护执行用控制程序。
[0007]另外,在构建、使用FA系统时,大多数情况下进行PLC的控制程序的开发、设计的公司与进行维护的公司是不同的。在该状况下,执行用控制程序的解密所需的密钥由开发出PLC的执行用控制程序的公司的计算机创建。但是,包含该密钥在内,将开发数据作为机密信息在公司内进行管理,因此,在公司不同的情况下,从机密管理的方面考虑,难以进行公司之间的数据传递。由此,在进行维护的公司中,无法得到PLC的控制程序的解密所需的密钥,因此,在专利文献I所示的方式中,存在无法由进行维护的公司的计算机阅览控制程序的课题。
[0008]另外,专利文献I所示的方式是在始终与网络连接的状态下,将执行用控制程序以及执行用控制程序的加密、解密所需的信息在开发用个人计算机与控制仪器之间进行交换。因此,在专利文献I所示的方式中,在网络上进行转送的数据量变多。因此,存在下述课题,即,如果将专利文献I所示的方式应用于网络质量较差的环境中,则会经常发生超时、通信线路故障,容易发生执行用控制程序的转送失败。
[0009]作为解决这些课题的方法,考虑下述方式,S卩,由开发出执行用控制程序的公司的计算机生成执行用控制程序的解密所需的密钥,将生成的密钥记录至其他的介质(USB存储器等),将介质从开发出执行用控制程序的公司送交至进行维护的公司。然后,维护执行用控制程序的公司能够使用介质所记录的密钥,由维护执行用控制程序的公司的计算机阅览控制程序。但是,在该方式中也留有下述课题,即,在介质被盗的情况下,执行用控制程序的解密所需的密钥被泄漏,因此,无法保护控制程序。
[0010]本发明就是为了解决上述所示的课题而提出的,其目的在于,针对特定的用户,容易从PLC读出执行用控制程序、向PLC写入执行用控制程序,并且,防止执行用控制程序的阅览、编辑所需的密钥向除了特定的用户以外的范围泄露。
[0011]本发明所涉及的控制系统具有:控制装置,其执行仪器的控制;程序发送装置,其将记述有通过所述控制装置执行的所述仪器的控制的源程序变换为能够通过所述控制装置执行的执行用程序,将变换后的所述执行用程序加密而生成加密执行用程序,将生成的所述加密执行用程序发送至所述控制装置;以及认证服务器,
[0012]该控制系统的特征在于,所述程序发送装置具有:
[0013]发送侧获取部,其获取用于识别所述控制装置的仪器标识符;以及
[0014]发送侧通信部,其将编辑用密钥和由所述发送侧获取部获取到的所述仪器标识符发送至所述认证服务器,并且,将执行用密钥和所述加密执行用程序发送至所述控制装置,该编辑用密钥在将所述加密执行用程序解密成所述执行用程序,并且将解密后的所述执行用程序变换为所述源程序时使用,该执行用密钥在将所述加密执行用程序解密为所述执行用程序时使用,
[0015]所述认证服务器从所述发送侧通信部接收所述编辑用密钥和所述仪器标识符,将接收到的所述编辑用密钥与所述仪器标识符相关联地存储至存储装置,
[0016]所述控制装置接收由所述发送侧通信部发送出的所述执行用密钥和所述加密执行用程序,基于接收到的所述执行用密钥和所述加密执行用程序,执行所述仪器的控制。
[0017]发明的效果
[0018]根据本发明所涉及的控制系统,能够防止控制程序解读所需的编辑用密钥的泄漏,安全地保护控制程序,并且,即使写入PLC的控制程序的公司与读出PLC的控制程序的公司不同,也能够提高从PLC读出执行用控制程序、向PLC写入执行用控制程序的便利性。
【附图说明】
[0019]图1是表示实施方式I所涉及的控制系统800的结构框图。
[0020]图2是表示实施方式I所涉及的开发用计算机200的详细结构框图。
[0021]图3是表示实施方式I所涉及的管理服务器100所具有的用户管理表101的结构图。
[0022]图4是表示实施方式I所涉及的管理服务器100、开发用计算机200、控制器300的硬件结构的一个例子的图。
[0023]图5是表示在实施方式I所涉及的控制系统800中,将执行用控制程序651从开发用计算机200写出至控制器300的顺序的时序图。
[0024]图6是表示实施方式I所涉及的管理服务器100的用户认证处理710的流程的流程图。
[0025]图7是表示实施方式I所涉及的开发用计算机200的控制程序变换处理720的流程的流程图。
[0026]图8是表示实施方式I所涉及的管理服务器100的编辑用密钥登记处理730的流程的流程图。
[0027]图9是表示在实施方式2所涉及的控制系统800中,将加密执行用控制程序651a从控制器300读出至维护用计算机250的顺序的时序图。
[0028]图10是表示实施方式2所涉及的管理服务器100的编辑用密钥认证处理S750的流程的流程图。
[0029]图11是表示实施方式3所涉及的控制系统801的结构框图。
[0030]图12是表示在实施方式3所涉及的控制系统801中,将执行用控制程序651从开发用计算机200写出至控制器300、300a、300b的顺序的时序图。
[0031]图13是表示实施方式3所涉及的开发用计算机200的控制程序变换处理720的流程的流程图。
[0032]图14是表示在实施方式4所涉及的控制系统801中,将加密执行用控制程序651a从控制器300读出至维护用计算机250的顺序的时序图。
[0033]图15是实施方式5所涉及的控制系统802的结构框图。
[0034]图16是实施方式5所涉及的管理服务器100所具有的仪器识别ID表112的结构图。
[0035]图17是实施方式5所涉及的开发用计算机200的详细结构框图。
[0036]图18是表示在实施方式5所涉及的控制系统800中,将执行用控制程序651从开发用计算机200写出至控制器300的顺序的时序图。
[0037]图19是表示实施方式5所涉及的开发用计算机200的有效期限设定处理S810的流程的流程图。
[0038]图20是表示实施方式5所涉及的管理服务器100的编辑用密钥登记处理S770的流程的流程图。
[0039]图21是表示实施方式5所涉及的管理服务器100的有效期限确认处理S790的流程的流程图。
[0040]图22是表示在实施方式6所涉及的控制系统802中,将执行用控制程序651从开发用计算机200写出至控制器300的顺序的时序图。
[0041]图23是表示实施方式6所涉及的管理服务器100的编辑用密钥认证处理S780的流程的流程图。
【具体实施方式】
[0042]实施方式1.
[0043]图1是表示本实施方式所涉及的控制系统800的结构框图。
[0044]本实施方式所涉及的控制系统800例如是用于控制工场内的生产仪器500的动作的系统。
[0045]如图1所示,控制系统800具有管理服务器100、开发用计算机200、以及控制器300。管理服务器100与开发用计算机200通过通信线路400连接。另外,开发用计算机200与控制器300通过通信线路401连接。
[0046]管理服务器100在控制系统800中,对进行控制程序的设计、维护等的用户进行管理。管理服务器100是执行用户的认证处理等的认证服务器的一个例子。
[0047]控制器300是执行仪器的控制的控制装置的一个例子。
[0048]开发用计算机200接受由用户进行的操作,基于接受到的操作的内容,执行控制程序的设计、开发等处理。
[0049]控制程序是记述有由控制器300执行的生产仪器500的控制的源程序。
[0050]开发用计算机200将控制程序变换成能够由控制器300执行的执行用控制程序,并将变换后的执行用控制程序加密,生成加密后的执行用控制程序(加密执行用程序的一个例子)。
[0051]另外,开发用计算机200生成编辑用密钥以及执行用密钥,该编辑用密钥在将加密后的执行用控制程序(下面,称为加密执行用控制程序651a)解密成执行用控制程序、且将解密后的执行用控制程序变换成控制程序时使用,该执行用密钥在将加密执行用控制程序651a解密成执行用控制程序时使用。
[0052]开发用计算机200是将加密执行用控制程序651a写出至控制器300的程序发送装置的一个例子。
[0053]将加密执行用控制程序651a写出至控制器300是指,经由通信线路401将加密执行用控制程序651a发送至控制器300。
[0054]开发用计算机200从用户接受将执行用控制程序写出至控制器300的请求,将执行用控制程序和执行用密钥写出至控制器300,将用于阅览控制程序的编辑用密钥登记至管理服务器100。
[0055]控制系统800也可以与维护用计算机250连接。
[0056]维护用计算机250从控制器300接受读出执行用控制程序的请求,从控制器300读出加密执行用控制程序651a。
[0057]维护用计算机250在进行用户的认证处理时从管理服务器100获取编辑用密钥。
[0058]在维护用计算机250中,使用编辑用密钥将读出的加密执行用控制程序651a变换成能够阅览的控制程序220。
[0059]开发用计算机200与维护用计算机250的内部结构相同。可以是在I台计算机中具有开发用计算机200和维护用计算机250两者的功能。或者,也可以是仅具有开发用计算机200和维护用计算机250中的某一个功能的I台计算机。
[0060]例如,开发用计算机200是开发公司所使用的计算机,维护用计算机250是维护公司所利用的计算机。
[0061]控制器300通过执行控制程序,从而执行生产仪器500的控制。控制器300接收从开发用计算机200发送出的执行用密钥和加密执行用控制程序651a,基于接收到的执行用密钥和加密执行用控制程序651a,执行生产仪器500的控制。
[0062]使用图1,对控制器300的功能进行说明。
[0063]控制器300具有通信控制部301、执行用控制程序保管部302、内部总线303、仪器识别ID管理部304、控制程序执行部305、以及解密部306。
[0064]控制器300的内部构成为,经由内部总线303,将通信控制部301、执行用控制程序保管部302、仪器识别ID管理部304、控制程序执行部305、解密部306进行了连接。
[0065]通信控制部301经由通信线路401与开发用计算机200的控制器通信部201连接。
[0066]通信线路401例如是USB线缆、与Ethernet (注册商标)相对应的LAN线缆等。
[0067]执行用控制程序保管部302将执行用控制程序存储至控制器300所具有的存储装置。
[0068]仪器识别ID管理部304将控制器300的仪器识别ID存储至控制器300所具有的存储装置。
[0069]解密部306对由执行用控制程序保管部302保管的执行用控制程序进行解密。
[0070]控制程序执行部305与生产仪器500连接。控制程序执行部305通过执行由解密部306解密出的执行用控制程序,从而控制生产仪器500的动作。
[0071]控制程序执行部305从执行用控制程序保管部302依次读出代码,执行生产仪器500的控制所需的程序。
[0072]图2是本实施方式所涉及的开发用计算机200的详细结构框图。
[0073]下面,使用图1以及图2,说明开发用计算机200的功能。
[0074]如图1所示,开发用计算机200具有控制器通信部201 (发送侧通信部、接收侧通信部)、控制程序管理部202、以及服务器通信部203 (发送侧通信部、接收侧通信部)。
[0075]控制器通信部201经由通信线路401进行与控制器300的通信。
[0076]控制程序管理部202对控制程序220进行管理。另外,控制程序管理部202将控制程序220变换成执行用控制程序。将控制程序220变换成执行用控制程序是指,为了在控制器300 (PLC的一个例子)中执行,而对控制程序220实施所需的处理,生成执行用控制程序。
[0077]服务器通信部203经由通信线路400在与管理服务器100之间进行通信。
[0078]另外,如图2所示,控制程序管理部202具有控制程序存储部227、执行用程序变换部221、密钥生成部223、解密部224、用户操作接受部222、以及公司管理部226。
[0079]控制程序存储部227将控制程序220存储至开发用计算机200所具有的存储装置。
[0080]执行用程序变换部221将控制程序220变换成执行用控制程序。另外,执行用程序变换部221将执行用控制程序变换成控制程序220。
[0081]密钥生成部223生成控制程序220的阅览、控制程序220的执行所需的密钥。
[0082]解密部224解密控制程序220的阅览、控制程序220的执行所需的密钥。
[0083]用户操作接受部222 (发送侧接受部、接收侧接受部)接受用户的操作,决定由执行用程序变换部221进行的处理。
[0084]公司管理部226对开发用计算机200的所属公司进行管理。
[0085]图3是本实施方式所涉及的管理服务器100所具有的用户管理表101的结构图。
[0086]下面,使用图1以及图3,对管理服务器100的功能进行说明。
[0087]如图1所示,管理服务器100具有用户管理表101、用户通信部102(服务器侧通信部)。
[0088]用户管理表101是对与利用控制系统800的用户,例如进行控制程序220的开发、维护等的用户相关的信息进行管理的表。
[0089]用户通信部102经由通信线路400与开发用计算机200进行通信。
[0090]如图3所示,用户管理表101具有用户表110、所属公司表
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1