CN104871098B - 控制系统、程序发送装置、认证服务器、程序保护方法、程序发送方法 - Google Patents

控制系统、程序发送装置、认证服务器、程序保护方法、程序发送方法 Download PDF

Info

Publication number
CN104871098B
CN104871098B CN201280077861.9A CN201280077861A CN104871098B CN 104871098 B CN104871098 B CN 104871098B CN 201280077861 A CN201280077861 A CN 201280077861A CN 104871098 B CN104871098 B CN 104871098B
Authority
CN
China
Prior art keywords
program
key
execution
control program
editor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201280077861.9A
Other languages
English (en)
Other versions
CN104871098A (zh
Inventor
胜田乔雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN104871098A publication Critical patent/CN104871098A/zh
Application granted granted Critical
Publication of CN104871098B publication Critical patent/CN104871098B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24167Encryption, password, user access privileges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明的目的在于提供一种控制系统,该控制系统安全地保护控制程序,并且,对于特定的用户,提高从PLC读出执行用控制程序、向PLC写入执行用控制程序的便利性。控制系统具有:控制器(300),其控制生产仪器(500);开发用计算机(200),其将记述有生产仪器(500)的控制的控制程序变换成能够通过控制器(300)执行的执行用程序并进行加密,生成编辑用的编辑用密钥和执行用的执行用密钥;以及管理服务器(100),其管理用户的信息,开发用计算机(200)将编辑用密钥登记至管理服务器(100)的用户管理表(101),并且,将执行用密钥和执行用控制程序发送至控制器(300)。

Description

控制系统、程序发送装置、认证服务器、程序保护方法、程序发 送方法
技术领域
本发明涉及控制系统、程序发送装置程序、认证服务器、程序保护方法以及程序发送方法。
背景技术
在工厂自动化(Factory·Automation:FA)系统中,配置有用于控制工场内的生产设备的动作的控制器。该控制器被称为可编程逻辑控制器(Programmable·Logic·Controller:PLC)。用于使PLC进行动作的控制程序使用梯形图等语言进行设计。使用梯形图程序开发环境将设计出的控制程序变换成执行用控制程序,并经由通信线缆写入至PLC。如上所述,将开发控制程序、并向PLC写入控制程序的装置称为开发用计算机。
梯形图程序开发环境作为在Windows(注册商标)上运行的软件被大量地出售。如果具有运行Windows(注册商标)的计算机、和梯形图程序开发环境,则能够使用计算机容易地进行向PLC写入执行用控制程序、和从PLC读出执行用控制程序。因此,近年来发生了下述问题,即,从已经在工场中取得运转实绩的PLC中抽取执行用控制程序,模仿该程序而制作出用于控制其他生产设备的动作的PLC。
为了应对如上所述的问题,采取了用于防止在FA系统中改用模仿品的各种对策。作为一个具体例子,根据专利文献1,在向PLC写入控制程序的执行用控制程序时,开发用计算机将执行用控制程序加密而转送至PLC。在执行控制程序时,PLC解析预先生成的加密规则,提取已在开发用计算机中登记的控制仪器固有的信息。而且,介绍了下述技术,即,PLC基于提取出的控制仪器固有的信息,确认执行用控制程序是否是控制仪器(PLC)固有的程序,如果是固有的程序,则通过在PLC中解密出执行用控制程序,从而保护PLC内部的数据。
专利文献1:日本特开2008-65678号公报
发明内容
在专利文献1所示的方式中,执行用控制程序的加密、解密所需的信息由开发用计算机进行管理,因此,存在下述课题,即,如果盗取开发用计算机,则能够容易地得到执行用控制程序的解密所需的密钥,因此,无法保护执行用控制程序。
另外,在构建、使用FA系统时,大多数情况下进行PLC的控制程序的开发、设计的公司与进行维护的公司是不同的。在该状况下,执行用控制程序的解密所需的密钥由开发出PLC的执行用控制程序的公司的计算机创建。但是,包含该密钥在内,将开发数据作为机密信息在公司内进行管理,因此,在公司不同的情况下,从机密管理的方面考虑,难以进行公司之间的数据传递。由此,在进行维护的公司中,无法得到PLC的控制程序的解密所需的密钥,因此,在专利文献1所示的方式中,存在无法由进行维护的公司的计算机阅览控制程序的课题。
另外,专利文献1所示的方式是在始终与网络连接的状态下,将执行用控制程序以及执行用控制程序的加密、解密所需的信息在开发用个人计算机与控制仪器之间进行交换。因此,在专利文献1所示的方式中,在网络上进行转送的数据量变多。因此,存在下述课题,即,如果将专利文献1所示的方式应用于网络质量较差的环境中,则会经常发生超时、通信线路故障,容易发生执行用控制程序的转送失败。
作为解决这些课题的方法,考虑下述方式,即,由开发出执行用控制程序的公司的计算机生成执行用控制程序的解密所需的密钥,将生成的密钥记录至其他的介质(USB存储器等),将介质从开发出执行用控制程序的公司送交至进行维护的公司。然后,维护执行用控制程序的公司能够使用介质所记录的密钥,由维护执行用控制程序的公司的计算机阅览控制程序。但是,在该方式中也留有下述课题,即,在介质被盗的情况下,执行用控制程序的解密所需的密钥被泄漏,因此,无法保护控制程序。
本发明就是为了解决上述所示的课题而提出的,其目的在于,针对特定的用户,容易从PLC读出执行用控制程序、向PLC写入执行用控制程序,并且,防止执行用控制程序的阅览、编辑所需的密钥向除了特定的用户以外的范围泄露。
本发明所涉及的控制系统具有:控制装置,其执行仪器的控制;程序发送装置,其将记述有通过所述控制装置执行的所述仪器的控制的源程序变换为能够通过所述控制装置执行的执行用程序,将变换后的所述执行用程序加密而生成加密执行用程序,将生成的所述加密执行用程序发送至所述控制装置;以及认证服务器,
该控制系统的特征在于,所述程序发送装置具有:
发送侧获取部,其获取用于识别所述控制装置的仪器标识符;以及
发送侧通信部,其将编辑用密钥和由所述发送侧获取部获取到的所述仪器标识符发送至所述认证服务器,并且,将执行用密钥和所述加密执行用程序发送至所述控制装置,该编辑用密钥在将所述加密执行用程序解密成所述执行用程序,并且将解密后的所述执行用程序变换为所述源程序时使用,该执行用密钥在将所述加密执行用程序解密为所述执行用程序时使用,
所述认证服务器从所述发送侧通信部接收所述编辑用密钥和所述仪器标识符,将接收到的所述编辑用密钥与所述仪器标识符相关联地存储至存储装置,
所述控制装置接收由所述发送侧通信部发送出的所述执行用密钥和所述加密执行用程序,基于接收到的所述执行用密钥和所述加密执行用程序,执行所述仪器的控制。
发明的效果
根据本发明所涉及的控制系统,能够防止控制程序解读所需的编辑用密钥的泄漏,安全地保护控制程序,并且,即使写入PLC的控制程序的公司与读出PLC的控制程序的公司不同,也能够提高从PLC读出执行用控制程序、向PLC写入执行用控制程序的便利性。
附图说明
图1是表示实施方式1所涉及的控制系统800的结构框图。
图2是表示实施方式1所涉及的开发用计算机200的详细结构框图。
图3是表示实施方式1所涉及的管理服务器100所具有的用户管理表101的结构图。
图4是表示实施方式1所涉及的管理服务器100、开发用计算机200、控制器300的硬件结构的一个例子的图。
图5是表示在实施方式1所涉及的控制系统800中,将执行用控制程序651从开发用计算机200写出至控制器300的顺序的时序图。
图6是表示实施方式1所涉及的管理服务器100的用户认证处理S710的流程的流程图。
图7是表示实施方式1所涉及的开发用计算机200的控制程序变换处理S720的流程的流程图。
图8是表示实施方式1所涉及的管理服务器100的编辑用密钥登记处理S730的流程的流程图。
图9是表示在实施方式2所涉及的控制系统800中,将加密执行用控制程序651a从控制器300读出至维护用计算机250的顺序的时序图。
图10是表示实施方式2所涉及的管理服务器100的编辑用密钥认证处理S750的流程的流程图。
图11是表示实施方式3所涉及的控制系统801的结构框图。
图12是表示在实施方式3所涉及的控制系统801中,将执行用控制程序651从开发用计算机200写出至控制器300、300a、300b的顺序的时序图。
图13是表示实施方式3所涉及的开发用计算机200的控制程序变换处理S720的流程的流程图。
图14是表示在实施方式4所涉及的控制系统801中,将加密执行用控制程序651a从控制器300读出至维护用计算机250的顺序的时序图。
图15是实施方式5所涉及的控制系统802的结构框图。
图16是实施方式5所涉及的管理服务器100所具有的仪器识别ID表112的结构图。
图17是实施方式5所涉及的开发用计算机200的详细结构框图。
图18是表示在实施方式5所涉及的控制系统802中,将执行用控制程序651从开发用计算机200写出至控制器300的顺序的时序图。
图19是表示实施方式5所涉及的开发用计算机200的有效期限设定处理S810的流程的流程图。
图20是表示实施方式5所涉及的管理服务器100的编辑用密钥登记处理S770的流程的流程图。
图21是表示实施方式5所涉及的管理服务器100的有效期限确认处理S790的流程的流程图。
图22是表示在实施方式6所涉及的控制系统802中,将执行用控制程序651从开发用计算机200写出至控制器300的顺序的时序图。
图23是表示实施方式6所涉及的管理服务器100的编辑用密钥认证处理S780的流程的流程图。
具体实施方式
实施方式1.
图1是表示本实施方式所涉及的控制系统800的结构框图。
本实施方式所涉及的控制系统800例如是用于控制工场内的生产仪器500的动作的系统。
如图1所示,控制系统800具有管理服务器100、开发用计算机200、以及控制器300。管理服务器100与开发用计算机200通过通信线路400连接。另外,开发用计算机200与控制器300通过通信线路401连接。
管理服务器100在控制系统800中,对进行控制程序的设计、维护等的用户进行管理。管理服务器100是执行用户的认证处理等的认证服务器的一个例子。
控制器300是执行仪器的控制的控制装置的一个例子。
开发用计算机200接受由用户进行的操作,基于接受到的操作的内容,执行控制程序的设计、开发等处理。
控制程序是记述有由控制器300执行的生产仪器500的控制的源程序。
开发用计算机200将控制程序变换成能够由控制器300执行的执行用控制程序,并将变换后的执行用控制程序加密,生成加密后的执行用控制程序(加密执行用程序的一个例子)。
另外,开发用计算机200生成编辑用密钥以及执行用密钥,该编辑用密钥在将加密后的执行用控制程序(下面,称为加密执行用控制程序651a)解密成执行用控制程序、且将解密后的执行用控制程序变换成控制程序时使用,该执行用密钥在将加密执行用控制程序651a解密成执行用控制程序时使用。
开发用计算机200是将加密执行用控制程序651a写出至控制器300的程序发送装置的一个例子。
将加密执行用控制程序651a写出至控制器300是指,经由通信线路401将加密执行用控制程序651a发送至控制器300。
开发用计算机200从用户接受将执行用控制程序写出至控制器300的请求,将执行用控制程序和执行用密钥写出至控制器300,将用于阅览控制程序的编辑用密钥登记至管理服务器100。
控制系统800也可以与维护用计算机250连接。
维护用计算机250从控制器300接受读出执行用控制程序的请求,从控制器300读出加密执行用控制程序651a。
维护用计算机250在进行用户的认证处理时从管理服务器100获取编辑用密钥。
在维护用计算机250中,使用编辑用密钥将读出的加密执行用控制程序651a变换成能够阅览的控制程序220。
开发用计算机200与维护用计算机250的内部结构相同。可以是在1台计算机中具有开发用计算机200和维护用计算机250两者的功能。或者,也可以是仅具有开发用计算机200和维护用计算机250中的某一个功能的1台计算机。
例如,开发用计算机200是开发公司所使用的计算机,维护用计算机250是维护公司所利用的计算机。
控制器300通过执行控制程序,从而执行生产仪器500的控制。控制器300接收从开发用计算机200发送出的执行用密钥和加密执行用控制程序651a,基于接收到的执行用密钥和加密执行用控制程序651a,执行生产仪器500的控制。
使用图1,对控制器300的功能进行说明。
控制器300具有通信控制部301、执行用控制程序保管部302、内部总线303、仪器识别ID管理部304、控制程序执行部305、以及解密部306。
控制器300的内部构成为,经由内部总线303,将通信控制部301、执行用控制程序保管部302、仪器识别ID管理部304、控制程序执行部305、解密部306进行了连接。
通信控制部301经由通信线路401与开发用计算机200的控制器通信部201连接。
通信线路401例如是USB线缆、与Ethernet(注册商标)相对应的LAN线缆等。
执行用控制程序保管部302将执行用控制程序存储至控制器300所具有的存储装置。
仪器识别ID管理部304将控制器300的仪器识别ID存储至控制器300所具有的存储装置。
解密部306对由执行用控制程序保管部302保管的执行用控制程序进行解密。
控制程序执行部305与生产仪器500连接。控制程序执行部305通过执行由解密部306解密出的执行用控制程序,从而控制生产仪器500的动作。
控制程序执行部305从执行用控制程序保管部302依次读出代码,执行生产仪器500的控制所需的程序。
图2是本实施方式所涉及的开发用计算机200的详细结构框图。
下面,使用图1以及图2,说明开发用计算机200的功能。
如图1所示,开发用计算机200具有控制器通信部201(发送侧通信部、接收侧通信部)、控制程序管理部202、以及服务器通信部203(发送侧通信部、接收侧通信部)。
控制器通信部201经由通信线路401进行与控制器300的通信。
控制程序管理部202对控制程序220进行管理。另外,控制程序管理部202将控制程序220变换成执行用控制程序。将控制程序220变换成执行用控制程序是指,为了在控制器300(PLC的一个例子)中执行,而对控制程序220实施所需的处理,生成执行用控制程序。
服务器通信部203经由通信线路400在与管理服务器100之间进行通信。
另外,如图2所示,控制程序管理部202具有控制程序存储部227、执行用程序变换部221、密钥生成部223、解密部224、用户操作接受部222、以及公司管理部226。
控制程序存储部227将控制程序220存储至开发用计算机200所具有的存储装置。
执行用程序变换部221将控制程序220变换成执行用控制程序。另外,执行用程序变换部221将执行用控制程序变换成控制程序220。
密钥生成部223生成控制程序220的阅览、控制程序220的执行所需的密钥。
解密部224解密控制程序220的阅览、控制程序220的执行所需的密钥。
用户操作接受部222(发送侧接受部、接收侧接受部)接受用户的操作,决定由执行用程序变换部221进行的处理。
公司管理部226对开发用计算机200的所属公司进行管理。
图3是本实施方式所涉及的管理服务器100所具有的用户管理表101的结构图。
下面,使用图1以及图3,对管理服务器100的功能进行说明。
如图1所示,管理服务器100具有用户管理表101、用户通信部102(服务器侧通信部)。
用户管理表101是对与利用控制系统800的用户,例如进行控制程序220的开发、维护等的用户相关的信息进行管理的表。
用户通信部102经由通信线路400与开发用计算机200进行通信。
如图3所示,用户管理表101具有用户表110、所属公司表111、以及仪器识别ID表112。
用户表110是将所属公司信息、密码等与对用户进行识别的用户ID 150相关联而形成的表。所属公司信息是用于对通过用户ID 150识别的用户所属的公司进行识别的信息。在所属公司信息中,存在开发公司信息653和维护公司信息661。
所属公司表111将所属公司信息(开发公司信息653、维护公司信息661)与仪器识别ID 604相关联地进行管理。
仪器识别ID 604是用于识别控制器300(控制装置)的标识符。与仪器识别ID相对应的所属公司信息是进行控制程序的开发、维护等的公司的信息,该控制程序由通过该仪器识别ID识别的控制器300(控制装置、控制仪器)执行。
仪器识别ID表112管理仪器识别ID 604和与仪器识别ID 604相对应的编辑用密钥650。在与仪器识别ID 604相对应的编辑用密钥650中,包含为了对写出至通过仪器识别ID604识别的控制器300中的控制程序进行阅览所需的信息。
在图3中示出了用户表110、所属公司表111、以及仪器识别ID表112的结构例。使用图3,进一步详细说明用户表110、所属公司表111、以及仪器识别ID表112的结构。
在用户表110中,登记有与开发出控制程序的公司的用户ID 150相对应的开发公司信息653、密码152、登录信息151。另外,登记有与维护控制程序的公司的用户ID 160相对应的维护公司信息661、密码162、登录信息161。
在所属公司表111中,登记有开发公司信息653以及维护公司信息661和分别与它们相对应的仪器识别ID 604。所谓仪器识别ID604,是对作为开发公司信息653或者维护公司信息661的开发或者维护对象的控制器300进行识别的标识符。
在仪器识别ID表112中,登记有仪器识别ID 604和与其相对应的编辑用密钥650。
管理服务器100与开发用计算机200经由通信线路400连接。管理服务器100与开发用计算机200经由通信线路400,进行用于用户的认证处理的信息的发送/接收、或者编辑用密钥的发送/接收等,该用户对控制程序220进行设计、维护。
管理服务器100设置在工场内、或者在远处设置的管理中心内。在将管理服务器100设置在工场内的情况下,通信线路400由LAN线缆以及附随的通信仪器构成。
在管理服务器100设置在管理中心外的情况下,通信线路400由通信业务公司提供的电话线路、光缆、LAN线缆、以及与附随于它们的通信仪器构成。
图4是表示本实施方式所涉及的管理服务器100、开发用计算机200、控制器300的硬件结构的一个例子的图。
在图4中,管理服务器100、开发用计算机200、以及控制器300是计算机,具有LCD901(Liquid·Crystal·Display)、键盘902(K/B)、鼠标903、FDD 904(Flexible·Disk·Drive)、CDD 905(Compact·Disc·Drive)、打印机906这些硬件设备。这些硬件设备通过线缆、信号线进行连接。也可以取代LCD 901而使用CRT(Cathode·Ray·Tube)或者其他显示装置。也可以取代鼠标903而使用触控面板、触摸板、轨迹球、手写板、或者其他的指点设备。
管理服务器100、开发用计算机200、控制器300具有执行程序的CPU 911(Central·Processing·Unit)。CPU 911是处理装置的一个例子。CPU 911经由总线912与ROM 913(Read·Only·Memory)、RAM 914(Random·Access·Memory)、通信端口915、LCD901、键盘902、鼠标903、FDD 904、CDD 905、打印机906、HDD 920(Hard·Disk·Drive)连接,并控制这些硬件设备。也可以取代HDD920而使用闪存、光盘装置、存储卡读写器、或者其他记录介质。
RAM 914是易失性存储器的一个例子。ROM 913、FDD 904、CDD 905、HDD 920是非易失性存储器的一个例子。它们是存储装置、存储部的一个例子。通信端口915、键盘902、鼠标903、FDD 904、CDD 905是输入装置的一个例子。另外,通信端口915、LCD 901、打印机906是输出装置的一个例子。
通信端口915与LAN(Local·Area·Network)等连接。通信端口915不限定于与LAN连接,还可以与IP-VPN(Internet·Protocol·Virtual·Private·Network)、广域LAN、ATM(Asynchronous·Transfer·Mode)网络这种WAN(Wide·Area·Network)、或者互联网连接。LAN、WAN、互联网是网络的一个例子。
在HDD 920中存储有操作系统921(OS)、视窗系统922、程序组923、文件组924。程序组923的程序由CPU 911、操作系统921、视窗系统922执行。在程序组923中,包含有执行在本实施方式的说明中作为“~部”进行说明的功能的程序。程序由CPU 911读出并执行。在文件组924中,作为“~文件”、“~数据库”、“~表”的各项目,包含有在本实施方式的说明中作为“~数据”、“~信息”、“~ID(标识符)”、“~标志”、“~结果”进行说明的数据、信息、信号值、变量值、参数。“~文件”、“~数据库”、“~表”存储至RAM 914、HDD 920等记录介质。RAM914、HDD 920等记录介质所存储的数据、信息、信号值、变量值、参数经由读写电路,由CPU911读出至主存储器、缓存(cache)存储器,在提取、检索、参照、比较、运算、计算、控制、输出、印刷、显示这些CPU 911的处理(动作)中使用。在提取、检索、参照、比较、运算、计算、控制、输出、印刷、显示这些CPU 911的处理中,数据、信息、信号值、变量值、参数暂时存储至主存储器、缓存存储器、缓冲(buffer)存储器。
在本实施方式的说明中使用的框图、流程图的箭头部分主要表示数据、信号的输入/输出。数据、信号存储至RAM 914等存储器、FDD 904的软盘(FD)、CDD 905的压缩盘(CD)、HDD 920的磁盘、光盘、DVD(Digital·Versatile·Disc)、或者其他记录介质。另外,数据、信号通过总线912、信号线、线缆、或者其他传送介质进行传送。
在本实施方式的说明中以“~部”进行说明的部分可以是“~电路”、“~装置”、“~仪器”,另外,也可以是“~步骤”、“~工序”、“~顺序”、“~处理”。即,以“~部”进行说明的部分可以通过ROM 913所存储的固件实现。或者,以“~部”进行说明的部分也可以仅通过软件或者仅通过元件、设备、基板、配线这些硬件实现。或者,以“~部”进行说明的部分也可以通过将软件与硬件组合而实现,或者通过将软件、硬件、固件组合而实现。固件和软件作为程序,存储在软盘、压缩盘、磁盘、光盘、DVD等记录介质中。程序由CPU 911读出,由CPU 911执行。即,程序作为本实施方式的说明中所述的“~部”而使计算机发挥作用。或者,程序使计算机执行本实施方式的说明中所述的“~部”的顺序、方法。
图5是表示在本实施方式所涉及的控制系统800中,将执行用控制程序651从开发用计算机200写出至控制器300的顺序的时序图。
使用图5,说明将执行用控制程序651从开发用计算机200写出至控制器300的顺序。
图5所示的处理示出的是,从用户指示执行向控制器300写出执行用控制程序开始,至开发用计算机200将执行用控制程序写出至控制器300,将用于阅览控制程序的编辑用密钥登记至管理服务器100为止的处理流程。
开发用计算机200从用户接受用于将执行用控制程序写出至控制器300的指示的操作。
例如,用户操作接受部222在开发用计算机200的显示装置中显示用户输入画面等。用户操作接受部222接受向用户输入画面输入的操作内容。
此时,用户操作接受部222(发送侧接受部)输入由用户向用户输入画面输入的用户ID 601、密码602、开发公司信息653。
向用户输入画面输入的操作内容例如是将执行用控制程序向控制器300写出的指示(下面,称为执行用控制程序写出指示)。
用户ID 601、密码602、以及开发公司信息653是在用户的认证处理中使用的认证信息的一个例子。
用户操作接受部222将输入的用户ID 601、密码602、以及开发公司信息653输入至用户通信部102。
在图5的S101中,用户通信部102将从用户操作接受部222输入的用户ID 601、密码602、开发公司信息653经由通信线路400,作为认证请求发送至管理服务器100。
管理服务器100的用户通信部102从开发用计算机200的服务器通信部203接收认证请求。如果管理服务器100接收到认证请求,则使用认证请求所包含的用户ID 601、密码602、开发公司信息653,由处理装置执行用户认证处理S7 10。管理服务器100是认证服务器的一个例子。另外,管理服务器100是执行用户的认证处理的认证部的一个例子。
图6是表示实施方式1所涉及的管理服务器100的用户认证处理S710的流程的流程图。
使用图6,说明管理服务器100的用户认证处理S710。
管理服务器100通过处理装置确认从开发用计算机200通知的用户ID 601、密码602、开发公司信息653与用户表110所登记的用户ID 150、密码152、开发公司信息653是否一致。
在S711中,管理服务器100使用输入的用户ID 601检索用户表110。
管理服务器100在确认为与输入的用户ID 601相同的用户ID存在于用户表110的情况下(S711为YES),将处理行进至S712。此时,管理服务器100从用户表110中提取与输入的用户ID 601相同的用户ID 150所对应的开发公司信息653、密码152,并存储至存储装置。
管理服务器100在与输入的用户ID 601相同的用户ID不存在于用户表110(无法确认)的情况下(S711为NO),将处理行进至S715。
在S715中,管理服务器100在认证结果603中设定“无法认证”。
在S712中,管理服务器100通过处理装置确认输入的开发公司信息653是否与从用户表110提取出的开发公司信息653(用户ID601(150)所对应的开发公司信息653)一致。
管理服务器100在确认为输入的开发公司信息653与从用户表110中提取出的开发公司信息653一致的情况下(S712为YES),将处理行进至S713。
管理服务器100在无法确认输入的开发公司信息653与从用户表110中提取出的开发公司信息653一致的情况下(S712为NO),将处理行进至S715。
在S715中,管理服务器100在认证结果603中设定“无法认证”。
在S713中,管理服务器100通过处理装置确认输入的密码602是否与从用户表110提取出的密码152(用户ID 601(150)所对应的密码)一致。
管理服务器100在确认为输入的密码602与从用户表110中提取出的密码152一致的情况下(S713为YES),将处理行进至S714。
在S714中,管理服务器100在认证结果603中设定“认证合格”。
管理服务器100在无法确认输入的密码602与从用户表110中提取出的密码152一致的情况下(S713为NO),将处理行进至S715。
在S715中,管理服务器100在认证结果603中设定“无法认证”。
由此,在图6中结束说明。
在图5的S102中,如果管理服务器100的用户通信部102结束了用户认证处理S710,则经由通信线路400将认证结果603发送至开发用计算机200。
如上所述,即使在输入的用户ID 601、密码602、开发公司信息653中的一个与用户表110不一致的情况下,管理服务器100也会如S715所示,发送无法认证响应。在输入的用户ID 601、密码602、开发公司信息653全部一致的情况下,管理服务器100如S714所示,将认证合格响应设定在认证结果603中,向开发用计算机200通知认证结果603。
在图5的S102中,开发用计算机200的服务器通信部203从管理服务器100的用户通信部102接收认证结果603。
控制程序管理部202通过处理装置判定在接收到的认证结果603中所设定的认证响应。
控制程序管理部202在判定为在认证结果603中所设定的认证响应是“无法认证”的情况下,结束处理。在该情况下,例如,控制程序管理部202在显示装置中显示“无法认证”的错误消息等。
控制程序管理部202在判定为在认证结果603中所设定的认证响应是“认证合格”的情况下,执行控制程序变换处理S720。
图7是表示本实施方式所涉及的开发用计算机200的控制程序变换处理S720的流程的流程图。
使用图7,说明开发用计算机200的控制程序变换处理S720。
控制程序管理部202的执行用程序变换部221执行控制程序变换处理S720。
在S721中,执行用程序变换部221向控制器300发送用于获取控制器300的仪器识别ID的仪器识别ID查询报文605。
控制器300如果接收到仪器识别ID查询报文605,则从仪器识别ID管理部304中获取用于识别控制器300的仪器识别ID 604。控制器300的通信控制部301经由通信线路401将获取到的仪器识别ID 604发送至开发用计算机200。
在S722中,开发用计算机200的控制器通信部201接收控制器300的仪器识别ID604。开发用计算机200的控制器通信部201将接收到的仪器识别ID 604输入至控制程序管理部202。如上所述,控制程序管理部202获取仪器识别ID 604。控制程序管理部202是获取对控制器300进行识别的仪器识别ID 604(仪器标识符)的发送侧获取部的一个例子。
在S723中,控制程序管理部202的执行用程序变换部221输入控制程序220。控制程序220是记述有在控制器300中所要执行的生产仪器500的控制的源程序。控制程序220例如是由梯形图语言记述而成的梯形图程序。
执行用程序变换部221将输入的控制程序220变换成能够在控制器300中执行的执行用控制程序651。执行用控制程序651例如是能够在控制器300中执行的对象程序(执行用程序的一个例子)。
在S724中,密钥生成部223输入由执行用程序变换部221变换后的执行用控制程序651、和从控制器300获取到的仪器识别ID 604。密钥生成部223生成编辑用密钥,该编辑用密钥在将加密执行用控制程序651a解密成执行用控制程序651、且将解密后的执行用控制程序651变换成控制程序220时使用。另外,密钥生成部223生成执行用密钥,该执行用密钥在将加密执行用控制程序651a解密成执行用控制程序651时使用。密钥生成部223是密钥生成部的一个例子。
密钥生成部223如果接收(输入)了仪器识别ID 604,则生成在控制程序220的阅览时所需的编辑用密钥650、和控制器300为了执行执行用控制程序651所需的执行用密钥652,并向执行用程序变换部221通知。
在S725中,执行用程序变换部221接收编辑用密钥650和执行用密钥652,结束控制程序变换处理S720。
在S103~S104中,控制程序管理部202将由密钥生成部223生成的执行用密钥652和加密执行用控制程序651a输出至控制器通信部201。
控制器通信部201从控制程序管理部202输入执行用密钥652和加密执行用控制程序651a。控制器通信部201将输入的执行用密钥652和加密执行用控制程序651a经由通信线路401发送至控制器300。控制器通信部201是发送侧通信部的一个例子。
控制器300的通信控制部301将从开发用计算机200发送出的加密执行用控制程序651a和执行用密钥652写入至执行用控制程序保管部302。
开发用计算机200的执行用程序变换部221获取预先登记至公司管理部226中的开发用计算机200的所属公司信息。在开发用计算机200的情况下,登记有开发公司信息653,在维护用计算机250的情况下,登记有维护公司信息661。
或者,也可以在开发用计算机200的公司管理部226中登记有开发用计算机200的开发公司信息653、和此后负责维护的维护公司信息661。另外,在维护用计算机250的公司管理部226中也可以登记有自身维护用计算机250的维护公司信息661、和负责作为维护对象的控制程序的开发的开发公司信息653。
在S105~S107中,开发用计算机200的服务器通信部203经由通信线路400向管理服务器100发送编辑用密钥650、仪器识别ID604、开发公司信息653、维护公司信息661。
服务器通信部203是将由密钥生成部223生成的编辑用密钥650和从控制器300获取到的仪器识别ID 604发送至管理服务器100的发送侧通信部的一个例子。
管理服务器100的用户通信部102(服务器侧通信部)从开发用计算机200接收编辑用密钥650、仪器识别ID 604、开发公司信息653、维护公司信息661。管理服务器100通过编辑用密钥登记处理S730,将编辑用密钥650、仪器识别ID 604、开发公司信息653、维护公司信息661登记至用户管理表101。
图8是表示实施方式1所涉及的管理服务器100的编辑用密钥登记处理S730的流程的流程图。
使用图8,说明管理服务器100的编辑用密钥登记处理S730的流程。
在S731中,管理服务器100将开发公司信息653与仪器识别ID604相关联地登记至所属公司表111。
在S732中,管理服务器100将维护公司信息661与仪器识别ID604相关联地登记至所属公司表111。
在S733中,管理服务器100将仪器识别ID 604与编辑用密钥650相关联地登记至仪器识别ID表112。
由此,结束关于从用户指示执行向控制器300写出执行用控制程序开始,至开发用计算机200将执行用控制程序写出至控制器300,将用于阅览控制程序的编辑用密钥登记至管理服务器100为止的处理流程的说明。
如上所述,本实施方式所涉及的控制系统800是设备的控制系统,具有:控制器300,其控制所述设备的动作;第一计算机(开发用计算机200),其通过第一通信线路(通信线路401)与所述控制器300连接,在与控制器300之间进行控制程序220的读写;以及服务器(管理服务器100),其通过第二通信线路(通信线路400)与所述第一计算机连接。
另外,本实施方式所涉及的控制系统800具有在将控制程序从所述第一计算机写入至所述控制器时使用的下述单元。
首先,所述服务器具有认证单元,该认证单元对使用所述第一计算机进行写入的用户和所属公司进行认证,对允许向所述第一计算机写入进行判断。
另外,所述第一计算机具有密钥生成单元,该密钥生成单元从所述控制器读入仪器识别ID,生成用于能够阅览所述控制程序的密钥(编辑用密钥650)、和用于能够执行所述控制程序的密钥(执行用密钥652)。
另外,还具有写入单元,该写入单元将由所述密钥生成单元生成的用于能够阅览控制程序和能够执行控制程序的密钥(执行用密钥652)写入至所述控制器。
另外,所述服务器具有保管单元,该保管单元保管所述第一计算机的所属公司、所述控制器的仪器识别ID、以及用于能够阅览所述控制程序的密钥(编辑用密钥650)。
如上所述,根据本实施方式所涉及的控制系统800,能够防止控制程序解读所需的编辑用密钥的泄漏,安全地保护控制程序。
实施方式2.
在本实施方式中,对与实施方式1的不同点进行说明。在本实施方式中,有时对与在实施方式1中所说明的内容具有相同功能的结构、处理、单元、顺序标注相同的标号,并省略其说明。
在本实施方式中,对在实施方式1中所说明的控制系统800中,直至通过维护用计算机250,从控制器300读出加密执行用控制程序651a,变换成能够阅览、编辑的控制程序220为止的处理进行说明。
图9是表示在本实施方式所涉及的控制系统800中,将加密执行用控制程序651a从控制器300读出至维护用计算机250的顺序的时序图。
使用图9,对将加密执行用控制程序651a从控制器300读出至维护用计算机250,将读出的加密执行用控制程序651a变换成能够阅览的控制程序220的顺序进行说明。
维护用计算机250的用户操作接受部222从用户接受加密执行用控制程序651a的读出请求。
如果维护用计算机250接受到加密执行用控制程序651a的读出请求,则从控制器300读出加密执行用控制程序651a,从管理服务器100获取控制程序220的阅览所需的编辑用密钥。
然后,维护用计算机250使用获取到的编辑用密钥650,将加密执行用控制程序651a变换成能够阅览的控制程序220。
维护用计算机250从用户接受从控制器300读出加密执行用控制程序651a的请求即读出指示的操作。
例如,用户操作接受部222在维护用计算机250的显示装置中显示用户输入画面等。用户操作接受部222接受向用户输入画面输入的操作内容。
此时,用户操作接受部222输入由用户向用户输入画面输入的用户ID 601、密码602、维护公司信息661。
向用户输入画面输入的操作内容例如是从控制器300读出加密执行用控制程序651a的指示(下面,称为执行用控制程序读出指示)。
用户操作接受部222将输入的用户ID 601、密码602、维护公司信息661输入至用户通信部102。用户操作接受部222是接收侧接受部的一个例子。
在图9的S101中,用户通信部102将从用户操作接受部222输入的用户ID 601、密码602、维护公司信息661经由通信线路400,作为认证请求发送至管理服务器100。
管理服务器100的用户通信部102从维护用计算机250的服务器通信部203接收认证请求。管理服务器100如果接收到认证请求,则使用认证请求所包含的用户ID 601、密码602、维护公司信息661,通过处理装置执行用户认证处理S710。
如实施方式1所说明的那样,维护用计算机250的内部结构与图2所示的开发用计算机200的内部结构相同,但公司管理部226的设定值与开发用计算机200的设定值不同。即,需要注意以下这一点,即,具有开发用计算机200的公司与具有维护用计算机250的公司是不同的。
维护用计算机250通过接受由用户作出的执行用控制程序读出操作,从而执行从控制器300读出执行用控制程序的处理。此时,维护用计算机250向管理服务器100通知用户ID 611、密码612、维护公司信息661。管理服务器100执行用户认证处理S710。
对于用户认证处理S710,与实施方式1所说明的内容相同。但是,不同点在于,将开发公司信息653变为维护公司信息661。
如图9所示,管理服务器100在用户认证处理S710中,通过处理装置判定接收到的用户ID 611、密码612、维护公司信息661与用户表110所登记的用户ID 160、密码162、维护公司信息661是否一致(参照图6的S711~S713)。
管理服务器100即使在用户ID 160、密码162、维护公司信息661中的一个存在不一致的情况下,也会将无法认证响应设定在认证结果603中,并将认证结果603发送至维护用计算机250(图9的S102)。
另外,管理服务器100在用户ID 160、密码162、维护公司信息661全部一致的情况下,将认证合格响应设定在认证结果603中,并将认证结果603发送至维护用计算机250(图9的S102)。
维护用计算机250的控制程序管理部202通过处理装置确认从管理服务器100接收到的认证结果603。如果认证结果603是认证合格,则控制程序管理部202向控制器300发送仪器识别ID查询报文605(S201)。
控制器300如果接收到仪器识别ID查询报文605,则向控制程序管理部202通知控制器300的仪器识别ID 604(S202)。
控制程序管理部202将获取到的仪器识别ID 604和维护公司信息661发送至管理服务器100(S203)。管理服务器100如果接收到仪器识别ID 604和维护公司信息661,则执行编辑用密钥认证处理S750,向维护用计算机250发送编辑用密钥650(S204)。控制程序管理部202是接收侧获取部的一个例子。
图10是表示本实施方式所涉及的管理服务器100的编辑用密钥认证处理S750的流程的流程图。
使用图10,对管理服务器100的编辑用密钥认证处理S750的流程进行说明。
在S751中,管理服务器100通过处理装置确认接收到的仪器识别ID 604是否登记在仪器识别ID表112(参照图3)中。
在管理服务器100确认为输入的仪器识别ID 604登记在仪器识别ID表112中的情况下(S751为YES),将处理行进至S752。
在管理服务器100无法确认为接收到的仪器识别ID 604登记在仪器识别ID表112中的情况下(S751为NO),将处理行进至S755。
在S752中,管理服务器100通过处理装置确认接收到的维护公司信息661是否登记在所属公司表111中,并且,是否与接收到的仪器识别ID 604相对应。
管理服务器100在确认为接收到的维护公司信息661登记在所属公司表111中,并且,与接收到的仪器识别ID 604相对应的情况下(S752为YES),将处理行进至S753。
管理服务器100在无法确认为接收到的维护公司信息661登记在所属公司表111中的情况下,或者在无法确认为与接收到的仪器识别ID 604相对应的情况下(S752为NO),将处理行进至S755。
在S753中,管理服务器100从仪器识别ID表112中获取与仪器识别ID 604相对应的编辑用密钥650。
在S754中,管理服务器100将获取到的编辑用密钥650设定在密钥认证响应中。
另一方面,在S755中,管理服务器100在密钥认证响应中设定“无法认证”。即,管理服务器100在仪器识别ID 604不存在于仪器识别ID表112中的情况下,或者虽然存在但在所属公司表111中仪器识别ID 604与维护公司信息661不对应的情况下,在密钥认证响应中设定“无法认证”。
由此,结束管理服务器100的编辑用密钥认证处理S750的说明。
在图9的S204中,管理服务器100的用户通信部102经由通信线路400将密钥认证响应发送至维护用计算机250。
此时,如果编辑用密钥认证成功(认证合格),则在密钥认证响应中设定有编辑用密钥650,如果编辑用密钥认证失败(无法认证),则在密钥认证响应中设定有无法认证。
在图9的S205中,如果维护用计算机250接收到编辑用密钥650作为密钥认证响应,则向控制器300发送请求读出加密执行用控制程序651a的执行用控制程序读出报文640(读出命令的一个例子)。维护用计算机250是程序接收装置的一个例子。另外,控制器通信部201是接收侧通信部的一个例子。
控制器300从维护用计算机250接收执行用控制程序读出报文640。控制器300从执行用控制程序保管部302读出加密执行用控制程序651a。
此时,控制器300也可以从执行用控制程序保管部302读出加密执行用控制程序651a和执行用密钥652,并将它们输入至解密部306。解密部306基于加密执行用控制程序651a和执行用密钥652,将加密执行用控制程序651a解密成执行用控制程序651。控制器300的通信控制部301也可以将由解密部306解密后的执行用控制程序651发送至维护用计算机250。
但是,在本实施方式中,构成为控制器300从执行用控制程序保管部302读出加密执行用控制程序651a,通信控制部301将加密执行用控制程序651a发送至维护用计算机250。
维护用计算机250的控制器通信部201从控制器300接收加密执行用控制程序651a。
维护用计算机250的控制器通信部201将接收到的加密执行用控制程序651a输入至控制程序管理部202。
维护用计算机250基于从管理服务器100接收到的编辑用密钥650、和从控制器300接收到的加密执行用控制程序651a,执行将加密执行用控制程序651a变换成能够阅览的控制程序220的控制程序变换处理S760。
下面,对维护用计算机250中的控制程序变换处理S760进行说明。
控制程序管理部202的解密部224输入编辑用密钥650和加密执行用控制程序651a,将加密执行用控制程序651a解密成执行用控制程序651。
另外,控制程序管理部202的执行用程序变换部221输入编辑用密钥650和执行用控制程序651,将执行用控制程序651变换成能够阅览、编辑的控制程序220。
维护用计算机250接受由已登录(S101~S102)的用户发出的控制程序的读出请求。维护用计算机250执行控制程序变换处理S760,获取能够阅览、编辑的控制程序220。然后,维护用计算机250按照用户的操作,例如执行控制程序220的维护、编辑、变更、修正等处理。
维护用计算机250基于用户的请求,对能够阅览的控制程序220实施维护、编辑、变更、修正等处理,生成变更后控制程序220a。
通过图5的S720的处理,维护用计算机250将变更后控制程序220a变换成执行用程序,并且,将变换后的变更后控制程序220a加密,生成加密执行用变更后控制程序221a。此时,维护用计算机250新生成编辑用密钥650、执行用密钥652。
通过S103~S107的处理,维护用计算机250将新的编辑用密钥650登记至管理服务器100。另外,维护用计算机250将新的执行用密钥652和加密执行用变更后控制程序221a发送至控制器300。
如上所述,本实施方式所涉及的维护用计算机250如果接受到编辑用密钥650,则从控制器300读出执行用控制程序651,并将编辑用密钥650输入至解密部224而对执行用控制程序的阅览所需的信息进行解密,将执行用控制程序651变换成能够阅览的控制程序220。
如上所述,本实施方式所涉及的控制系统800具有在通过与控制器(控制器300)之间读写控制程序的第二计算机(维护用计算机250)从控制器读入控制程序时使用的以下单元。
所述服务器(管理服务器100)具有认证单元,该认证单元对要读入所述控制程序的用户和所属公司进行认证,判断是否允许所述第二计算机进行读入。
所述第二计算机具有下述单元,该单元从所述控制器读入仪器识别ID,并向所述服务器进行通知。
所述服务器具有下述单元,即,如果从所述第二计算机接收到所述仪器识别ID,则将用于能够阅览与所述仪器识别ID相对应的所述控制程序的密钥(编辑用密钥650)发送至所述第二计算机。
所述第二计算机具有如下述单元,即,如果从所述服务器接收到所述密钥(编辑用密钥650),则从所述控制器读入控制程序(加密执行用控制程序651a或者执行用控制程序651),使用所述密钥,从而能够阅览所述控制程序。
如上所述,根据本实施方式所涉及的控制系统800,即使写入PLC(例如,控制器300)的控制程序的公司与读出PLC的控制程序的公司不同,也能够防止控制程序解读所需的编辑用密钥的泄漏而安全地保护控制程序,与此同时,提高从PLC读出执行用控制程序、向PLC写入执行用控制程序的便利性。
实施方式3.
在本实施方式中,对与实施方式1的不同点进行说明。在本实施方式中,有时对与在实施方式1中所说明的内容具有相同功能的结构、处理、单元、顺序标注相同的标号,并省略其说明。
图11是本实施方式所涉及的控制系统801的结构框图。图12是在本实施方式所涉及的控制系统801中,从开发用计算机200向控制器300、300a、300b写出加密执行用控制程序651a的顺序的时序图。
使用图11以及图12,对在本实施方式所涉及的控制系统801中,从开发用计算机200向控制器300、300a、300b写出执行用控制程序651的顺序进行说明。
图11是与在实施方式1中所说明的图1相对应的图,对与图1相同的功能结构标注相同的标号,并省略其说明。图12是与在实施方式1中所说明的图5相对应的图,对与图5相同的功能结构标注相同的标号,并省略其说明。
如图11所示,在控制系统801中,与在实施方式1中所说明的控制系统800的不同点在于,构成为多个控制器300a、300b经由通信线路401、402、403、404与控制器300连接而成的结构。
如图11所示,控制器300经由通信线路402与控制器300a连接。另外,控制器300经由通信线路403与控制器300b连接。控制器300a与控制器300b经由通信线路404连接。
控制器300a和控制器300b是与控制器300(控制装置)连接的相邻连接装置的一个例子。
在图12中示出了,在控制系统801中,开发用计算机200接受由用户发出的执行用控制程序写出请求,执行向控制器300写出执行用控制程序的处理,将执行用控制程序写出至控制器300为止的处理流程。
说明图12所示出的顺序。
图12的S101~S102是与图5的S101~S102相同的处理。
开发用计算机200在执行向控制器300写出执行用控制程序的处理时,首先,向管理服务器100通知用户ID 601、密码602、开发公司信息653(S101)。
管理服务器100如果接受到通知,则执行用户认证处理S710,并向开发用计算机200作为响应而发送认证结果603(S102)。
图12的控制程序变换处理S720是与图5的控制程序变换处理S720相同的处理。
开发用计算机200的控制程序管理部202经由服务器通信部203从管理服务器100接受认证结果603。然后,控制程序管理部202确认接受到的认证结果603,如果是认证合格,则执行控制程序变换处理S720。
图13是表示本实施方式所涉及的开发用计算机200的控制程序变换处理S720的流程的流程图。
使用图12以及图13,对由开发用计算机200的控制程序管理部202进行的控制程序变换处理S720进行说明。
图12的S721是与图5以及图7的S721相同的处理。
在图12的S721中,开发用计算机200的控制程序管理部202向控制器300发送针对控制器300的仪器识别ID查询报文605(S721)。
控制器300如果接收到仪器识别ID查询报文605,则分别向控制器300a和控制器300b发送仪器识别ID查询报文606、608(S721-1,S721-3)。
控制器300a如果接收到仪器识别ID查询报文606,则向控制器300通知控制器300a的仪器识别ID 607(S721-2)。控制器300b如果接收到仪器识别ID查询报文608,则向控制器300通知控制器300b的仪器识别ID 609(S721-4)。
控制器300如果从控制器300a、300b接收到仪器识别ID 607、609,则基于接收到的仪器识别ID 607、609,创建与控制器300相邻的控制器300a、300b(PLC)的信息作为相邻PLC信息614。
相邻PLC信息614是包含控制器300(控制装置)与控制器300a、300b(相邻连接装置)之间的连接关系在内的相邻信息的一个例子。
控制器300向开发用计算机200的控制程序管理部202通知仪器识别ID 604和相邻PLC信息614。
此外,在本实施方式中,示出了在控制器300中创建相邻PLC信息614的例子。但是,也能够通过获取控制器300a的仪器识别ID607和控制器300b的仪器识别ID 609而在开发用计算机200中创建相邻PLC信息614。
在图13的S726中,开发用计算机200的控制程序管理部202从控制器300接收仪器识别ID 604和相邻PLC信息614。
图13的S723是与图7的S723相同的处理。
在S723中,控制程序管理部202将控制程序220变换成能够在控制器300中执行的执行用控制程序651。
在图13的S727中,控制程序管理部202将相邻PLC信息614和仪器识别ID 604输入至密钥生成部223。密钥生成部223基于相邻PLC信息614和仪器识别ID 604,将执行用控制程序651加密,生成加密执行用控制程序651a,并且生成控制程序220的阅览所需的编辑用密钥650、和为了控制器300执行执行用控制程序所需的执行用密钥652。
图13的S725是与图7的S725相同的处理,因此省略说明。
图12的S103~S104是与图5的S103~S104相同的处理。
开发用计算机200的控制器通信部201将加密执行用控制程序651a和执行用密钥652发送至控制器300(S103、S104)。
另外,开发用计算机200的服务器通信部203向管理服务器100发送编辑用密钥650和相邻PLC信息614。
在图12的S105a~S107中,开发用计算机200的服务器通信部203经由通信线路400向管理服务器100发送编辑用密钥650、相邻PLC信息614、开发公司信息653、维护公司信息661。
图12的S105a~S107是与图5的S105~S107相同的处理,但不同点在于,取代仪器识别ID 604而将相邻PLC信息614发送至管理服务器100。
管理服务器100的用户通信部102从开发用计算机200接收编辑用密钥650、相邻PLC信息614、开发公司信息653、维护公司信息661。管理服务器100通过编辑用密钥登记处理S730,将编辑用密钥650、相邻PLC信息614、开发公司信息653、维护公司信息661登记至用户管理表101。
管理服务器100的编辑用密钥登记处理S730与在图8中进行了说明的管理服务器100的编辑用密钥登记处理S730相同,但不同点在于,取代仪器识别ID 604而将相邻PLC信息614登记至仪器识别ID表112。
如上所述,本实施方式所涉及的控制系统801具有:第一控制器(控制器300);第二控制器(控制器300a),其通过第三通信线路(通信线路402)与第一控制器连接;第一计算机(开发用计算机200),其与第一控制器之间进行控制程序的读写;以及服务器(管理服务器100),其通过第二通信线路(通信线路400)与所述第一计算机连接。
本实施方式所涉及的控制系统801具有在将控制程序从所述第一计算机写入至所述第一控制器时进行下述处理的单元。
所述服务器具有认证单元,该认证单元对要使用所述第一计算机进行写入的用户和所属公司进行认证,判断是否允许所述计算机进行写入。
所述第一控制器具有下述单元,该单元读入与通过通信线路相连接的第二控制器相关的识别信息,创建表示第一以及第二控制器相邻的相邻信息(相邻PLC信息614)。
所述第一计算机具有密钥生成单元,该密钥生成单元从所述第一控制器读入所述相邻信息,创建用于能够阅览所述控制程序的密钥(编辑用密钥650)、和用于能够执行所述控制程序的密钥(执行用密钥652)。
所述第一计算机还具有下述单元,该单元将由所述密钥生成单元生成的、用于能够阅览控制程序和执行控制程序的密钥写入至所述第一控制器。
所述服务器具有下述单元,该单元保管所述第一计算机的所属公司信息、所述相邻信息、以及用于能够阅览所述控制程序的密钥。
如上所述,根据本实施方式所涉及的控制系统801,构成为仅限于表示多个控制器(PLC)之间的组合以及连接关系的相邻PLC信息与登记至管理服务器的相邻PLC信息一致时,能够获取控制程序的阅览所需的编辑用密钥,允许执行控制程序,能够提高控制程序的机密性。
实施方式4.
在本实施方式中,对与实施方式1~3的不同点进行说明。在本实施方式中,有时对与在实施方式1~3中所说明的内容具有相同功能的结构、处理、单元、顺序标注相同的标号,并省略其说明。
在本实施方式中,对在实施方式3中所说明的控制系统801中,通过维护用计算机250从控制器300读出加密执行用控制程序651a,将加密执行用控制程序651a变换成能够阅览、编辑的控制程序220为止的处理进行说明。
图14是表示在本实施方式所涉及的控制系统801中,将加密执行用控制程序651a从控制器300读出至维护用计算机250的顺序的时序图。
使用图14,对维护用计算机250从控制器300读出加密执行用控制程序651a,将读出的加密执行用控制程序651a变换成能够阅览的控制程序220为止的顺序进行说明。
图14的S101~S102是与图9的S101~S102相同的处理。
在图14的S101中,在由用户通过维护用计算机250执行了从控制器300读出执行用控制程序的操作时,维护用计算机250向管理服务器100通知用户ID 611、密码612、维护公司信息661,在管理服务器100中执行用户认证处理S710。
图14的S201是与图9的S201相同的处理。
维护用计算机250的控制程序管理部202确认接受到的认证结果603,如果是认证合格,则向控制器300发送仪器识别ID查询报文605(S201)。
控制器300如果接收到仪器识别ID查询报文605,则分别向控制器300a和控制器300b发送仪器识别ID查询报文606、608(S201-1,S201-3)。
控制器300a如果接收到仪器识别ID查询报文606,则向控制器300通知控制器300a的仪器识别ID 607(S201-2)。
控制器300b如果接收到仪器识别ID查询报文608,则向控制器300通知控制器300b的仪器识别ID 609(S201-4)。
控制器300如果从控制器300a、300b接收到仪器识别ID 607、609,则基于接收到的仪器识别ID 607、609,创建与控制器300相邻的控制器300a、300b的信息作为相邻PLC信息614。
在图14的S202a中,控制器300将相邻PLC信息614与控制器300的仪器识别ID 604一同向开发用计算机200的控制程序管理部202通知。
在图14的S203a中,维护用计算机250的控制程序管理部202向管理服务器100通知获取到的相邻PLC信息614和维护公司信息661。
管理服务器100如果从维护用计算机250接收到相邻PLC信息614和维护公司信息661,则执行编辑用密钥认证处理S750。
由管理服务器100进行的编辑用密钥认证处理S750是与在图9以及图10中所说明的编辑用密钥认证处理S750相同的处理。但是,在本实施方式中,在管理服务器100中,取代仪器识别ID 604而根据相邻PLC信息614检索仪器识别ID表112,获取编辑用密钥650。
图14的S204~S206以及控制程序变换处理S760的处理与图9的S204~S206以及控制程序变换处理S760的处理相同。
在由本实施方式所涉及的管理服务器100进行的编辑用密钥认证处理S750中,管理服务器100对相邻PLC信息614和维护公司信息661进行确认,如果存在吻合的信息,则检索与相邻PLC信息614相对应的编辑用密钥650,将得到的编辑用密钥650发送至维护用计算机250(S204)。
维护用计算机250如果接收到编辑用密钥650,则从控制器300读出加密执行用控制程序651a(S205,S206)。
维护用计算机250将编辑用密钥650输入至解密部224,对加密执行用控制程序651a的阅览所需的信息进行解密,将执行用控制程序651变换成能够阅览的控制程序220。
图14的控制程序变换处理S760与图9的控制程序变换处理S760相同,因此省略说明。
如上所述,本实施方式所涉及的控制系统801具有在通过所述计算机(维护用计算机250)从所述第一控制器(控制器300)读入控制程序220时使用的下述单元。
所述服务器(管理服务器100)具有认证单元,该认证单元对要使用所述计算机执行写入操作的用户的用户ID和所属公司进行认证,判断是否允许所述计算机进行写入。
所述第一控制器具有下述单元,该单元读入与通过通信线路相连接的第二控制器(控制器300a)相关的识别信息(仪器识别ID),创建表示第一以及第二控制器相邻的相邻信息(相邻PLC信息614)。
所述计算机具有下述单元,该单元从所述第一控制器向所述服务器通知所述相邻信息。
所述服务器具有下述单元,如果从所述计算机接收到所述相邻信息,则该单元将用于能够阅览与所述相邻信息相对应的所述控制程序的密钥(编辑用密钥650)发送至所述计算机。
所述计算机具有下述单元,如果从所述服务器接收到所述密钥,则该单元从所述第一控制器读入控制程序,使用所述密钥,从而能够阅览所述控制程序。
如上所述,根据本实施方式所涉及的控制系统801,构成为仅限于表示多个控制器(PLC)之间的组合以及连接关系的相邻PLC信息与管理服务器所登记的相邻PLC信息一致时,允许获取控制程序的阅览所需的编辑用密钥、执行控制程序,能够提高控制程序的机密性。
根据本实施方式所涉及的控制系统801,即使写入PLC的控制程序的公司与读出PLC的控制程序的公司不同,也能够提高从PLC读出执行用控制程序、向PLC写入执行用控制程序的便利性。
实施方式5.
在本实施方式中,主要对与实施方式1~4的不同点进行说明。特别是在本实施方式中对与实施方式1的不同点进行说明。在本实施方式中,有时对与在实施方式1中所说明的内容具有相同功能的结构、处理、单元、顺序标注相同的标号,并省略其说明。
图15是本实施方式所涉及的控制系统802的结构框图。图16是本实施方式所涉及的管理服务器100具有的仪器识别ID表112的结构图。图17是本实施方式所涉及的开发用计算机200的详细结构框图。图18是表示在本实施方式所涉及的控制系统802中,将执行用控制程序651从开发用计算机200写出至控制器300的顺序的时序图。
图15~图17与在实施方式1中所说明的图1~图3相对应,有时对与图1~图3所记载的功能结构相同的功能结构标注相同的标号,并省略其说明。另外,图18与在实施方式1中所说明的图5相对应,有时对与图5所记载的功能结构相同的功能结构标注相同的标号,并省略其说明。
如图15所示,管理服务器100具有时刻管理部103。
时刻管理部103管理密钥(编辑用密钥650)的有效期限。时刻管理部103经由通信线路405与时刻管理服务器700(当前时刻管理服务器)连接。
如图16所示,在管理服务器100的仪器识别ID表112中,作为与仪器识别ID 604相对应的信息,除了编辑用密钥650以外,还具有有效期限信息670。有效期限信息670是表示相对应的编辑用密钥650的有效期限的信息。
如图17所示,控制程序管理部202在实施方式1中所说明的功能结构的基础上,还具有有效期限管理部228。
有效期限管理部228管理由用户设定出的有效期限。
在图18中,示出在控制系统802中,从开发用计算机200执行向控制器300写出执行用控制程序的处理开始,至将执行用控制程序写出至控制器300为止的处理流程。
首先,使用图18,对从开发用计算机200写入控制程序的执行用控制程序的顺序进行说明。
图18的S101~S102是与图5的S101~S102相同的处理。
开发用计算机200在从用户接受向控制器300写出执行用控制程序的请求时,首先,向管理服务器100通知由用户输入的用户ID601、密码602、开发公司信息653(S101)。
管理服务器100如果接受到通知,则执行用户认证处理S710,并向开发用计算机200作为响应而发送认证结果603(S102)。
开发用计算机200从管理服务器100接受认证结果603,如果认证结果603的内容是认证合格,则执行有效期限设定处理S810。
图19是表示本实施方式所涉及的开发用计算机200的有效期限设定处理S810的流程的流程图。
使用图19,对开发用计算机200的有效期限设定处理S810进行说明。
在S811中,执行用程序变换部221向用户操作接受部222通知要求输入有效期限的报文。用户操作接受部222在开发用计算机200的显示画面中显示提示输入有效期限的消息(有效期限设定画面)。
在S812中,用户操作接受部222向执行用程序变换部221通知由用户向有效期限设定画面输入的输入值。执行用程序变换部221如果接受到输入值的通知,则将有效期限管理部228的设定值更新为输入值,从而设定有效期间673。
用户操作接受部222是接受编辑用密钥650的有效期间的输入的发送侧接受部的一个例子。
然后,开发用计算机200执行控制程序变换处理S720。图18的控制程序变换处理S720是与图5的控制程序变换处理S720相同的处理,因此省略其说明。
然后,开发用计算机200执行S103~S108的处理。图18的S103~S107的处理是与图5的S103~S107的处理相同的处理。
如果控制程序变换处理S720结束,则开发用计算机200的服务器通信部203将编辑用密钥650、开发公司信息653(维护公司信息661)、仪器识别ID 604发送至管理服务器100(S105~S107)。
另外,开发用计算机200的服务器通信部203将加密执行用控制程序651a和执行用密钥652发送至控制器300(S103~S104)。
在S108中,开发用计算机200的服务器通信部203在编辑用密钥650、开发公司信息653(维护公司信息661)、仪器识别ID 604的基础上,还将有效期间673发送至管理服务器100。
管理服务器100从开发用计算机200接收编辑用密钥650、开发公司信息653(维护公司信息661)、仪器识别ID 604、有效期间673。管理服务器100如果从开发用计算机200接收到编辑用密钥650、开发公司信息653(维护公司信息661)、仪器识别ID 604、有效期间673,则执行编辑用密钥登记处理S770。
图20是表示本实施方式所涉及的管理服务器100的编辑用密钥登记处理S770的流程的流程图。
使用图20对管理服务器100的编辑用密钥登记处理S770进行说明。
在S771~S772中,管理服务器100基于用户表110,通过处理装置确认已登录的用户ID是否与接收到的开发公司信息653和维护公司信息661相对应。
管理服务器100在判定为用户ID与接收到的开发公司信息653和维护公司信息661相对应的情况下,将处理行进至S773。
管理服务器100在判定为用户ID不与接收到的开发公司信息653和维护公司信息661相对应的情况下,结束处理。
在S773中,管理服务器100将开发公司信息653与仪器识别ID604相关联地登记至所属公司表111。该处理与图8的S731的处理相同。
在S774中,管理服务器100将维护公司信息661与仪器识别ID604相关联地登记至所属公司表111。该处理与图8的S732的处理相同。
在S775中,管理服务器100向时刻管理服务器700发送当前时刻查询报文671(S775a)。时刻管理服务器700如果从管理服务器100接收到当前时刻查询报文671,则将当前时刻672发送至管理服务器100(S775b)。
在S776中,管理服务器100通过处理装置,将从开发用计算机200接收到的有效期间673与从时刻管理服务器700获取到的当前时刻672相加,构成有效期限信息670(有效期限)。
管理服务器100针对从开发用计算机200接收到的仪器识别ID604,将从开发用计算机200接收到的编辑用密钥650和计算出的有效期限信息670相关联地设定在仪器识别ID表112中。管理服务器100在接收到的仪器识别ID 604的记录已经设定在仪器识别ID表112中的情况下,更新编辑用密钥650和有效期限信息670。
图21是表示本实施方式所涉及的管理服务器100的有效期限确认处理S790的流程的流程图。
管理服务器100定期或者不定期地执行图21所示的有效期限确认处理S790。
在S791中,管理服务器100向时刻管理服务器700发送当前时刻查询报文671,从时刻管理服务器700获取当前时刻672。
在S792中,管理服务器100通过处理装置判定获取到的当前时刻672是否到达有效期限信息670所示的有效期限。
管理服务器100在判定为当前时刻672到达有效期限信息670所示的有效期限的情况下(S792为YES),将处理行进至S793。
在S793中,管理服务器100将当前时刻672到达有效期限信息670所示的有效期限的记录中的编辑用密钥650无效化。管理服务器100例如通过在仪器识别ID表112的编辑用密钥650的栏设定“NULL”,从而使编辑用密钥650无效化。
管理服务器100在判定为当前时刻672没有到达有效期限信息670所示的有效期限的情况下(S792为NO),结束处理。管理服务器100针对仪器识别ID表112的所有记录执行该有效期限确认处理S790。
如上所述,本实施方式所涉及的控制系统802具有服务器(管理服务器100)和通过第四通信线路(通信线路405)进行连接的时刻管理服务器700。
另外,本实施方式所涉及的控制系统802具有下述单元。
所述服务器具有下述单元,该单元从时刻服务器(时刻管理服务器700)获取当前时刻,通过将从所述第一计算机(开发用计算机200)通知的时间(有效期间673)与所述当前时刻相加,从而设定与所述密钥(编辑用密钥650)相关的有效期限。
所述服务器具有下述单元,如果经过了设定的有效期限,则该单元将所述密钥删除。
如上所述,根据本实施方式所涉及的控制系统802,能够针对控制程序的阅览、执行所需的密钥控制有效期限,因此,在网络质量较差,阅览、编辑控制程序的计算机无法始终连接至网络的环境中,形成用于保护控制程序不受计算机的不正当操作的影响的有效手段。
另外,根据本实施方式所涉及的控制系统802,能够防止控制程序解读所需的编辑用密钥的泄漏。
实施方式6.
在本实施方式中,主要对与实施方式1~5的不同点进行说明。特别是在本实施方式中,对与实施方式2、5的不同点进行说明。在本实施方式中,有时对与在实施方式2、5中所说明的内容具有相同功能的结构、处理、单元、顺序标注相同的标号,并省略其说明。
图22是表示在本实施方式所涉及的控制系统802中,将加密执行用控制程序651a从控制器300读出至维护用计算机250的顺序的时序图。图23是表示本实施方式所涉及的管理服务器100的编辑用密钥认证处理S780的流程的流程图。
在本实施方式中,对在实施方式5中所说明的控制系统802中,通过维护用计算机250从控制器300读出加密执行用控制程序651a,将加密执行用控制程序651a变换成能够阅览、编辑的控制程序220为止的处理进行说明。
本实施方式所涉及的控制系统802在实施方式5中所说明的控制系统802的基础上,还具有维护用计算机250。
维护用计算机250的内部结构是与在实施方式5中所说明的开发用计算机200相同的内部结构。
另外,本实施方式所涉及的管理服务器100所存储的仪器识别ID表112是在实施方式5的图16中所说明的仪器识别ID表112。
在图22的S251中,维护用计算机250向管理服务器100发送当前时刻查询报文671。
在图22的S252中,管理服务器100如果接收到当前时刻查询报文671,则向维护用计算机250发送当前时刻672。
维护用计算机250如果从管理服务器100接收到当前时刻672,则使自身维护用计算机250的时刻与当前时刻672一致。由此,即使维护用计算机250单独地变更了时刻,也能够正确地控制直至有效期限为止的差值。
图22的S101~S102的处理、用户认证处理S710、以及S201~206的处理与图9的S101~S102的处理、用户认证处理S710、以及S201~206的处理相同。
如果当前时刻的设定完成,则维护用计算机250向管理服务器100通知用户ID611、密码612、维护公司信息661(S101)。
管理服务器100执行用户认证处理S710。维护用计算机250从管理服务器100接收认证结果603(S102),如果认证结果603是认证合格响应,则从控制器300获取仪器识别ID604(S201~S202)。
维护用计算机250如果获取到仪器识别ID 604,则将仪器识别ID 604、维护公司信息661发送至管理服务器100(S203)。管理服务器100如果从维护用计算机250接收到仪器识别ID 604和维护公司信息661,则执行编辑用密钥认证处理S780。
图23是表示本实施方式所涉及的管理服务器100的编辑用密钥认证处理S780的流程的流程图。
使用图23,对管理服务器100的编辑用密钥认证处理S780进行说明。
在S781中,管理服务器100通过处理装置确认接收到的仪器识别ID 604是否登记在仪器识别ID表112中(参照图3)。
管理服务器100在确认为输入的仪器识别ID 604登记在仪器识别ID表112中的情况下(S781为YES),将处理行进至S782。
管理服务器100在确认为接收到的仪器识别ID 604没有登记在仪器识别ID表112中的情况下(S781为NO),将处理行进至S787。
在S782中,管理服务器100通过处理装置,对接收到的维护公司信息661是否登记在所属公司表111中,并且,是否与接收到的仪器识别ID 604相对应进行判定。
管理服务器100在确认为接收到的维护公司信息661登记在所属公司表111中,并且,与接收到的仪器识别ID 604相对应的情况下(S782为YES),将处理行进至S783。
管理服务器100在确认为接收到的维护公司信息661没有登记在所属公司表111中,或者,不与接收到的仪器识别ID 604相对应的情况下(S782为NO),将处理行进至S787。
在S783中,管理服务器100向时刻管理服务器700发送当前时刻查询报文671(S783a)。时刻管理服务器700如果从管理服务器100接收到当前时刻查询报文671,则将当前时刻672发送至管理服务器100(S783b)。
在S784中,管理服务器100基于接收到的仪器识别ID 604,通过处理装置检索仪器识别ID表112,获取有效期限信息670。管理服务器100确认获取到的有效期限信息670,通过处理装置判定当前时刻是否到达有效期限信息670所示的有效期限。
管理服务器100在判定为当前时刻到达有效期限的情况下(S784为NO),将处理行进至S787。
管理服务器100在判定为当前时刻没有到达有效期限的情况下(S784为YES),将处理行进至S785。
在S785中,管理服务器100基于接收到的仪器识别ID 604,通过处理装置检索仪器识别ID表112。管理服务器100从仪器识别ID表112中获取与仪器识别ID 604相对应的编辑用密钥650。
在S786中,管理服务器100将获取到的编辑用密钥650设定在密钥认证响应中。
在图22的S204中,管理服务器100将设定有编辑用密钥650的密钥认证响应发送至维护用计算机250。
另一方面,在S787中,管理服务器100在密钥认证响应中设定“无法认证”。即,管理服务器100在仪器识别ID 604不存在于仪器识别ID表112中、在所属公司表111中仪器识别ID 604与维护公司信息661不一致、或者当前时刻到达仪器识别ID表所存储的有效期限等情况下,在密钥认证响应中设定“无法认证”。
由此,结束管理服务器100的编辑用密钥认证处理S780的说明。
如上所述,管理服务器100如果从服务器侧通信部(接收侧通信部)接收到仪器识别ID,则获取与接收到的仪器识别ID相对应的有效期限,并且,从时刻管理服务器700获取当前时刻,通过处理装置判定获取到的当前时刻是否超过有效期限。管理服务器100在判定为获取到的当前时刻超过有效期限的情况下,删除编辑用密钥,在判断为获取到的当前时刻没有超过有效期限的情况下,获取编辑用密钥。管理服务器100是编辑用密钥获取部的一个例子。
用户通信部102(服务器侧通信部)将由管理服务器100(编辑用密钥获取部)获取到的编辑用密钥发送至维护用计算机(程序接收装置)。
如上所述,本实施方式所涉及的控制系统802具有通过第四通信线路(通信线路405)与所述服务器(管理服务器100)连接的时刻管理服务器700。
另外,本实施方式所涉及的控制系统802具有下述单元。
所述第二计算机(维护用计算机250)具有下述单元,该单元从所述服务器获取当前时刻,与所述服务器的当前时刻取得一致。
所述服务器具有下述单元,该单元从时刻管理服务器获取当前时刻,确认与所述密钥(编辑用密钥)相关的有效期限。
所述服务器具有下述单元,如果与所述当前时刻相比所述有效期限更靠后,则该单元允许发送所述密钥。
如上所述,根据本实施方式所涉及的控制系统802,能够对控制程序的阅览、执行所需的密钥进行有效期限的控制,因此,在由于网络质量较差,阅览、编辑控制程序的计算机无法始终连接至网络的环境中,形成用于保护控制程序不受计算机的不正当操作的影响的有效手段。另外,通过该方法,也能够防止控制程序解读所需的编辑用密钥的泄漏,安全地保护控制程序,并且,即使写入PLC的控制程序的公司与读出PLC的控制程序的公司不同,也能够提高从PLC读出执行用控制程序、向PLC写入执行用控制程序的便利性。
以上,对实施方式1~6进行了说明,但也可以将这些实施方式中的大于或等于2个实施方式组合实施。或者,也可以将这些实施方式中的1个实施方式部分地实施。或者,也可以将这些实施方式中的大于或等于2个实施方式部分地组合实施。此外,本发明不限定于这些实施方式,能够根据需要进行各种变更。
在上述实施方式1~6的说明中,“控制器通信部”、“控制程序管理部”、“服务器通信部”、“执行用程序变换部”、“用户操作接受部”、“密钥生成部”、“解密部”、“公司管理部”分别作为独立的功能模块构成开发用计算机200。但不限定于此,例如,也可以通过一个功能模块实现“控制器通信部”和“服务器通信部”,通过一个功能模块实现“执行用程序变换部”和“密钥生成部”。或者,也可以将这些功能模块进行其他的某种组合而构成开发用计算机200。
另外,也可以同样地将功能模块进行某种组合而构成管理服务器100、维护用计算机250、控制器300。
标号的说明
100管理服务器,101用户管理表,102用户通信部,103时刻管理部,110用户表,111所属公司表,112仪器识别ID表,150用户ID,151登录信息,152密码,160用户ID,161登录信息,162密码,200开发用计算机,201控制器通信部,202控制程序管理部,203服务器通信部,220控制程序,221执行用程序变换部,222用户操作接受部,223密钥生成部,224解密部,226公司管理部,227控制程序存储部,228有效期限管理部,250维护用计算机,300、300a、300b控制器,301通信控制部,302执行用控制程序保管部,303内部总线,304仪器识别ID管理部,305控制程序执行部,306解密部,400、401、402、403、404通信线路,500生产仪器,601用户ID,602密码,603认证结果,604、607、609仪器识别ID,605、606、608仪器识别ID查询报文,611用户ID,612密码,614相邻PLC信息,640执行用控制程序读出报文,650编辑用密钥,651执行用控制程序,651a加密执行用控制程序,652执行用密钥,653开发公司信息,661维护公司信息,670有效期限信息,671当前时刻查询报文,673有效期间,700时刻管理服务器,800、801、802控制系统,901LCD,902键盘,903鼠标,904FDD,905CDD,906打印机,911CPU,912总线,913ROM,914RAM,915通信端口,920HDD,921操作系统,922视窗系统,923程序组,924文件组。

Claims (12)

1.一种控制系统,其具有:控制装置,其执行仪器的控制;程序发送装置,其将记述有通过所述控制装置执行的所述仪器的控制的源程序变换为能够通过所述控制装置执行的执行用程序,将变换后的所述执行用程序加密而生成加密执行用程序,将生成的所述加密执行用程序发送至所述控制装置;以及认证服务器,
该控制系统的特征在于,所述程序发送装置具有:
发送侧获取部,其获取用于识别所述控制装置的仪器标识符;以及
发送侧通信部,其将编辑用密钥和由所述发送侧获取部获取到的所述仪器标识符发送至所述认证服务器,并且,将执行用密钥和所述加密执行用程序发送至所述控制装置,该编辑用密钥在将所述加密执行用程序解密成所述执行用程序,并且将解密后的所述执行用程序变换为所述源程序时使用,该执行用密钥在将所述加密执行用程序解密为所述执行用程序时使用,
所述认证服务器从所述发送侧通信部接收所述编辑用密钥和所述仪器标识符,将接收到的所述编辑用密钥与所述仪器标识符相关联地存储至存储装置,
所述控制装置接收由所述发送侧通信部发送出的所述执行用密钥和所述加密执行用程序,基于接收到的所述执行用密钥和所述加密执行用程序,执行所述仪器的控制。
2.根据权利要求1所述的控制系统,其特征在于,
所述程序发送装置具有发送侧接受部,该发送侧接受部从用户接受在所述用户的认证中使用的认证信息,
所述发送侧通信部将所述发送侧接受部接受到的所述认证信息发送至所述认证服务器,
所述认证服务器具有认证部,该认证部接收从所述发送侧通信部发送出的所述认证信息,基于接收到的所述认证信息,通过处理装置判定是否允许向所述程序发送装置进行访问,在判定为允许向所述程序发送装置进行访问的情况下,将认证合格信息发送至所述程序发送装置,
所述程序发送装置在从所述认证服务器的所述认证部接收到所述认证合格信息的情况下,生成所述加密执行用程序,将生成的所述加密执行用程序和所述执行用密钥发送至所述控制装置。
3.根据权利要求1或2所述的控制系统,其特征在于,
所述控制系统具有程序接收装置,该程序接收装置具有将读出命令发送至所述控制装置的接收侧通信部,该读出命令用于从所述控制装置读出所述加密执行用程序,
所述控制装置如果从所述接收侧通信部接收到所述读出命令,则将所述加密执行用程序发送至所述程序接收装置,
所述程序接收装置具有接收侧获取部,该接收侧获取部用于获取所述仪器标识符,
所述接收侧通信部将由所述接收侧获取部获取到的所述仪器标识符发送至所述认证服务器,
所述认证服务器具有:
编辑用密钥获取部,如果从所述接收侧通信部接收到所述仪器标识符,则该编辑用密钥获取部基于接收到的所述仪器标识符,获取与接收到的所述仪器标识符相对应的所述编辑用密钥;以及
服务器侧通信部,其将由所述编辑用密钥获取部获取到的所述编辑用密钥发送至所述程序接收装置,
所述接收侧通信部接收从所述服务器侧通信部发送出的所述编辑用密钥,并且,接收基于所述读出命令而从所述控制装置发送出的所述加密执行用程序,
所述程序接收装置具有接收侧变换部,该接收侧变换部使用所述接收侧通信部接收到的所述编辑用密钥,将所述接收侧通信部接收到的所述加密执行用程序解密成所述执行用程序,并且,将解密后的所述执行用程序变换成所述源程序。
4.根据权利要求3所述的控制系统,其特征在于,
所述程序接收装置具有接收侧接受部,该接收侧接受部从用户接受在所述用户的认证中使用的认证信息,
所述接收侧通信部将所述接收侧接受部接受到的所述认证信息发送至所述认证服务器,并且,将所述读出命令发送至所述控制装置,
所述认证服务器具有认证部,该认证部从所述接收侧通信部接收所述认证信息,基于接收到的所述认证信息,通过处理装置判定是否允许向所述程序接收装置进行访问,在判定为允许向所述程序接收装置进行访问的情况下,将认证合格信息发送至所述程序接收装置,
所述接收侧通信部在从所述认证服务器的所述认证部接收到所述认证合格信息的情况下,将所述仪器标识符发送至所述认证服务器。
5.根据权利要求3所述的控制系统,其特征在于,
所述控制系统具有当前时刻管理服务器,该当前时刻管理服务器管理当前时刻,
所述程序发送装置具有发送侧接受部,该发送侧接受部接受所述编辑用密钥的有效期间的输入,
所述发送侧通信部还将由所述发送侧接受部接受到的所述有效期间发送至所述认证服务器,
所述认证服务器如果从所述发送侧通信部接收到所述有效期间,则从所述当前时刻管理服务器获取当前时刻,将接收到的所述有效期间与获取到的当前时刻相加而构成有效期限,将计算出的所述有效期限、所述编辑用密钥、以及所述仪器标识符相关联地存储至存储装置。
6.根据权利要求5所述的控制系统,其特征在于,
所述认证服务器的所述编辑用密钥获取部如果从所述接收侧通信部接收到所述仪器标识符,则获取与接收到的所述仪器标识符相对应的所述有效期限,并且,从所述当前时刻管理服务器获取当前时刻,通过处理装置判定获取到的当前时刻是否超过所述有效期限,在判定为获取到的当前时刻超过所述有效期限的情况下删除所述编辑用密钥,在判定为获取到的当前时刻没有超过所述有效期限的情况下获取所述编辑用密钥,
所述服务器侧通信部将由所述编辑用密钥获取部获取到的所述编辑用密钥发送至所述程序接收装置。
7.根据权利要求1所述的控制系统,其特征在于,
所述控制系统具有相邻连接装置,该相邻连接装置与所述控制装置连接,
所述发送侧获取部获取包含所述控制装置与所述相邻连接装置的连接关系在内的相邻信息,作为所述仪器标识符。
8.一种程序发送装置,其设置在控制系统中,该控制系统具有控制装置以及认证服务器,该控制装置执行仪器的控制,该程序发送装置将记述有通过所述控制装置执行的所述仪器的控制的源程序变换为能够通过所述控制装置执行的执行用程序,将变换后的所述执行用程序加密而生成加密执行用程序,将生成的所述加密执行用程序发送至所述控制装置,
该程序发送装置的特征在于,具有:
发送侧获取部,其获取用于识别所述控制装置的仪器标识符;以及
发送侧通信部,其将编辑用密钥和由所述发送侧获取部获取到的所述仪器标识符发送至所述认证服务器,并且,将执行用密钥和所述加密执行用程序发送至所述控制装置,该编辑用密钥在将所述加密执行用程序解密成所述执行用程序,并且将解密后的所述执行用程序变换为所述源程序时使用,该执行用密钥在将所述加密执行用程序解密为所述执行用程序时使用。
9.一种认证服务器,其设置在控制系统中,该控制系统具有控制装置以及程序发送装置,该控制装置执行仪器的控制,该程序发送装置将记述有通过所述控制装置执行的所述仪器的控制的源程序变换为能够通过所述控制装置执行的执行用程序,将变换后的所述执行用程序加密而生成加密执行用程序,将生成的所述加密执行用程序发送至所述控制装置,
该认证服务器的特征在于,
从所述程序发送装置接收编辑用密钥和用于识别所述控制装置的仪器标识符,将接收到的所述编辑用密钥与所述仪器标识符相关联地存储至存储装置,该编辑用密钥在将所述加密执行用程序解密成所述执行用程序,并且将解密后的所述执行用程序变换为所述源程序时使用。
10.根据权利要求9所述的认证服务器,其特征在于,
具有认证部,该认证部从所述程序发送装置接收在用户的认证中使用的认证信息,基于接收到的所述认证信息,通过处理装置判定是否允许向所述程序发送装置进行访问,在判定为允许向所述程序发送装置进行访问的情况下,将认证合格信息发送至所述程序发送装置。
11.一种程序保护方法,其用于控制系统,该控制系统具有:控制装置,其执行仪器的控制;程序发送装置,其将记述有通过所述控制装置执行的所述仪器的控制的源程序变换为能够通过所述控制装置执行的执行用程序,将变换后的所述执行用程序加密而生成加密执行用程序,将生成的所述加密执行用程序发送至所述控制装置;以及认证服务器,
该程序保护方法的特征在于,
(1)所述程序发送装置的发送侧获取部获取用于识别所述控制装置的仪器标识符;
(2)所述程序发送装置的发送侧通信部,将编辑用密钥和由所述发送侧获取部获取到的所述仪器标识符发送至所述认证服务器,并且,将执行用密钥和所述加密执行用程序发送至所述控制装置,该编辑用密钥在将所述加密执行用程序解密成所述执行用程序,并且将解密后的所述执行用程序变换为所述源程序时使用,该执行用密钥在将所述加密执行用程序解密为所述执行用程序时使用;
(3)所述认证服务器接收由所述发送侧通信部发送出的所述编辑用密钥和所述仪器标识符,将接收到的所述编辑用密钥与所述仪器标识符相关联地存储至存储装置;以及
(4)所述控制装置接收由所述发送侧通信部发送出的所述执行用密钥和所述加密执行用程序,基于接收到的所述执行用密钥和所述加密执行用程序,执行所述仪器的控制。
12.一种程序发送方法,其用于程序发送装置,该程序发送装置设置在控制系统中,该控制系统具有控制装置以及认证服务器,该控制装置执行仪器的控制,该程序发送装置将记述有通过所述控制装置执行的所述仪器的控制的源程序变换为能够通过所述控制装置执行的执行用程序,将变换后的所述执行用程序加密而生成加密执行用程序,将生成的所述加密执行用程序发送至所述控制装置,
该程序发送方法的特征在于,
(1)发送侧获取部获取用于识别所述控制装置的仪器标识符;以及
(2)发送侧通信部将编辑用密钥和由所述发送侧获取部获取到的所述仪器标识符发送至所述认证服务器,并且,将执行用密钥和所述加密执行用程序发送至所述控制装置,该编辑用密钥在将所述加密执行用程序解密成所述执行用程序,并且将解密后的所述执行用程序变换为所述源程序时使用,该执行用密钥在将所述加密执行用程序解密为所述执行用程序时使用。
CN201280077861.9A 2012-12-20 2012-12-20 控制系统、程序发送装置、认证服务器、程序保护方法、程序发送方法 Expired - Fee Related CN104871098B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/083052 WO2014097444A1 (ja) 2012-12-20 2012-12-20 制御システム及びプログラム送信装置及び認証サーバ及びプログラム保護方法及びプログラム送信方法及びプログラム送信装置のプログラム

Publications (2)

Publication Number Publication Date
CN104871098A CN104871098A (zh) 2015-08-26
CN104871098B true CN104871098B (zh) 2017-06-16

Family

ID=50977823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280077861.9A Expired - Fee Related CN104871098B (zh) 2012-12-20 2012-12-20 控制系统、程序发送装置、认证服务器、程序保护方法、程序发送方法

Country Status (7)

Country Link
US (1) US9769132B2 (zh)
JP (1) JP5836504B2 (zh)
KR (1) KR101676980B1 (zh)
CN (1) CN104871098B (zh)
DE (1) DE112012007242T5 (zh)
TW (1) TWI479287B (zh)
WO (1) WO2014097444A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5964077B2 (ja) * 2012-02-27 2016-08-03 三菱重工業株式会社 制御プログラム管理システム、及び制御プログラムの変更方法
US9369278B2 (en) * 2013-03-22 2016-06-14 Hitachi, Ltd. Method for maintenance or exchange of encryption function in storage system and storage device
US11605070B2 (en) * 2013-07-29 2023-03-14 The Toronto-Dominion Bank Cloud-based electronic payment processing
JP2016126705A (ja) * 2015-01-08 2016-07-11 三菱日立パワーシステムズ株式会社 制御システム、制御方法およびプログラム
IL243025A0 (en) * 2015-12-10 2016-02-29 Shabtai Asaf Method and system for detecting a malicious attempt to reprogram a plc in scada systems
US10845788B2 (en) * 2016-02-03 2020-11-24 Mitsubishi Electric Corporatioon Control system and control unit
JP6929102B2 (ja) * 2017-04-04 2021-09-01 三菱電機株式会社 エンジニアリング支援装置、エンジニアリング支援方法、およびエンジニアリング支援プログラム
CN110678819B (zh) * 2017-05-25 2023-03-28 Ls产电株式会社 控制程序运行方法
US10423151B2 (en) 2017-07-07 2019-09-24 Battelle Energy Alliance, Llc Controller architecture and systems and methods for implementing the same in a networked control system
JP2019149763A (ja) * 2018-02-28 2019-09-05 オムロン株式会社 データの処理方法、制御システム、制御装置
US11368299B2 (en) 2018-12-10 2022-06-21 Marvell Asia Pte, Ltd. Self-encryption drive (SED)
JP7127585B2 (ja) * 2019-03-12 2022-08-30 オムロン株式会社 セーフティシステムおよびメンテナンス方法
JP7300866B2 (ja) * 2019-03-28 2023-06-30 オムロン株式会社 制御システム
CN111624934B (zh) * 2020-04-28 2021-04-27 郑州信大捷安信息技术股份有限公司 一种plc应用程序数据保护系统和方法
CN112182551B (zh) * 2020-12-01 2021-03-16 中国航空油料集团有限公司 Plc设备身份认证系统和plc设备身份认证方法
DE112021007785T5 (de) * 2021-06-08 2024-03-28 Mitsubishi Electric Corporation Steuerungssystem, programmierbare Steuerung, Steuerungsprogramm-Übertragungsverfahren und Steuerungsprogramm
CN114167804A (zh) * 2021-11-10 2022-03-11 汤臣智能科技(深圳)有限公司 Plc加密程序的认证方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101008927A (zh) * 2006-01-26 2007-08-01 京瓷株式会社 信息处理装置、便携终端装置及信息处理执行控制方法
CN102156840A (zh) * 2010-02-12 2011-08-17 三菱电机株式会社 控制装置以及管理装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124997A (ja) 1997-06-30 1999-01-29 Hitachi Haisofuto:Kk コンピュータで作成された記録ファイルの機密保持方法及び機密保持プログラムを記録したコンピュータ読み取り可能な記録媒体
CN1307495C (zh) * 2000-03-17 2007-03-28 迪吉多电子股份有限公司 控制用服务器装置、控制用终端装置、控制系统
JP2004280653A (ja) 2003-03-18 2004-10-07 Toshiba Mach Co Ltd プログラマブル・ロジック・コントローラのデータ更新方法
JP5242915B2 (ja) * 2003-06-05 2013-07-24 インタートラスト テクノロジーズ コーポレイション ピア・ツー・ピアサービス編成ための相互運用システム及び方法
US6799080B1 (en) * 2003-06-12 2004-09-28 The Boc Group, Inc. Configurable PLC and SCADA-based control system
JP3833652B2 (ja) 2003-12-17 2006-10-18 株式会社エヌ・エス・アイ ネットワークシステム、サーバ装置、および認証方法
JP4587688B2 (ja) 2004-03-26 2010-11-24 東芝Itサービス株式会社 暗号鍵管理サーバ、暗号鍵管理プログラム、暗号鍵取得端末、暗号鍵取得プログラム、暗号鍵管理システム及び暗号鍵管理方法
JP4501781B2 (ja) 2005-05-26 2010-07-14 パナソニック電工株式会社 プログラマブルコントローラ
CN100507775C (zh) 2006-03-13 2009-07-01 富士电机系统株式会社 可编程控制器的编程设备
JP2008067162A (ja) * 2006-09-08 2008-03-21 Pit:Kk 制御システムおよびシステムの制御方法
JP2008065678A (ja) * 2006-09-08 2008-03-21 Omron Corp 機器の制御システム、制御装置およびプログラムの保護方法
JP4715698B2 (ja) 2006-09-26 2011-07-06 富士電機システムズ株式会社 プログラマブルコントローラのプログラミング装置、及び、プログラマブルコントローラシステム
JP2008123147A (ja) 2006-11-10 2008-05-29 Meidensha Corp 電子制御装置のリモート書き換え方式
US8793193B2 (en) * 2008-09-09 2014-07-29 Adobe Systems Incorporated Digital rights management distribution system
JP5293284B2 (ja) * 2009-03-09 2013-09-18 沖電気工業株式会社 通信方法、メッシュ型ネットワークシステム及び通信端末
JP5483944B2 (ja) * 2009-07-24 2014-05-07 キヤノン株式会社 ライセンス管理システム、サーバ装置、端末装置及びそれらの処理方法
JP5472708B2 (ja) 2009-10-19 2014-04-16 横河電機株式会社 検証装置とこれを用いたフィールド機器ソフトウェア更新システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101008927A (zh) * 2006-01-26 2007-08-01 京瓷株式会社 信息处理装置、便携终端装置及信息处理执行控制方法
CN102156840A (zh) * 2010-02-12 2011-08-17 三菱电机株式会社 控制装置以及管理装置

Also Published As

Publication number Publication date
CN104871098A (zh) 2015-08-26
JP5836504B2 (ja) 2015-12-24
US20150271161A1 (en) 2015-09-24
WO2014097444A1 (ja) 2014-06-26
DE112012007242T5 (de) 2016-01-14
TWI479287B (zh) 2015-04-01
US9769132B2 (en) 2017-09-19
JPWO2014097444A1 (ja) 2017-01-12
KR20150086358A (ko) 2015-07-27
TW201426226A (zh) 2014-07-01
KR101676980B1 (ko) 2016-11-29

Similar Documents

Publication Publication Date Title
CN104871098B (zh) 控制系统、程序发送装置、认证服务器、程序保护方法、程序发送方法
CN101281468B (zh) 生成固件更新文件和更新固件的方法和设备
CN100530029C (zh) 通过密钥的片断利用自动加密和解密进行数据归档的方法、系统和安全装置
US5857021A (en) Security system for protecting information stored in portable storage media
CN100435135C (zh) 在域管理系统的控制下记录和/或再现数据的方法
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
JP4170466B2 (ja) コマンド認証方法
JP4755472B2 (ja) データ転送方法及びシステム
CN102812473A (zh) 基于可执行程序身份的文件访问
WO2011152065A1 (ja) コントローラ、制御方法、コンピュータプログラム、プログラム記録媒体、記録装置及び記録装置の製造方法
CN1166029A (zh) 软件复制系统
US9400876B2 (en) Content data management system and method
CN106533693A (zh) 轨道车辆监控检修系统的接入方法和装置
JP3528701B2 (ja) セキュリティ管理システム
CN101253508A (zh) 组注册装置、组注销装置、组注册方法、许可证取得装置、许可证取得方法、时间设置装置和时间设置方法
CN100364002C (zh) 读或写用户数据的设备和方法
CN108023732A (zh) 一种数据保护方法、装置、设备和存储介质
CN110300289A (zh) 视频安全管理系统及方法
CN113836516B (zh) 一种打印机硒鼓防伪与打印次数保护系统、方法
CN100464338C (zh) 一种应用软件安全机制与大型数据库安全机制绑定方法
CN100525176C (zh) 一种协同工作环境下信息泄漏防范系统及其实现方法
CN102739656A (zh) 一种控制非主节点类型和规模的方法和系统
TWI444849B (zh) 透過伺服器驗證並授權解密以監控個資檔案之系統及方法
CN103366129A (zh) 基于网络的数据文件控管系统及其数据文件控管方法
CN108230522B (zh) 一种高安保门禁读卡器及其加密保护系统和方法

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170616

Termination date: 20181220

CF01 Termination of patent right due to non-payment of annual fee