CN103258148B - 控制***、控制装置和程序执行控制方法 - Google Patents
控制***、控制装置和程序执行控制方法 Download PDFInfo
- Publication number
- CN103258148B CN103258148B CN201210144756.4A CN201210144756A CN103258148B CN 103258148 B CN103258148 B CN 103258148B CN 201210144756 A CN201210144756 A CN 201210144756A CN 103258148 B CN103258148 B CN 103258148B
- Authority
- CN
- China
- Prior art keywords
- security code
- program
- information
- execution
- security
- 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.)
- Active
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明提供一种控制***、控制装置和程序执行控制方法,其考虑控制程序的运用、维护性,且从在PLC上工作的控制程序的安全的观点出发,防止控制程序的不正当使用。在控制***中,具有:存储有含有第一安全码和规定程序码的用户程序的第一存储器;存储有含有将第一安全码以规定算法转换后的第二安全码的安全信息的第二存储器;准许用户程序的执行的执行准许单元;对执行被准许的用户程序进行执行的程序执行单元,执行准许单元将在用户程序中所含的第一安全码以上述规定的算法转换,并将转换后的安全码与从安全信息取得的第二安全码进行比较,在一致的情况下,准许用户程序的执行。
Description
技术领域
本发明涉及控制程序的执行的控制装置和控制***,特别是涉及控制在PLC(ProgrammableLogicController,可编程逻辑控制器)上执行的PLC程序的执行的控制***、控制装置和控制方法。
背景技术
目前,作为FA(FactoryAutomation,工场自动化)等工业用通用计算机,使用可编程逻辑控制器(ProgrammableLogicController:下称PLC,可编程逻辑控制器)。在PLC对控制对象设备进行时序控制的情况下,例如,用户将控制对象设备的传感器、开关等检测部连接于PLC的输入端子,将控制对象设备的电动机等工作装置连接于PLC的输出端子。然后,PLC按照执行的控制程序从输出端子输出与向输入端子的输入信号相对应的输出信号,由此对控制对象设备进行控制。
在此,对于防止在PLC上执行的程序的不正当使用的技术,例如,已知有专利文献1、2等。在专利文献1、2中记载了通过使控制程序只能在特定的控制装置上工作,实现防止控制程序的不正当利用的控制装置。
更具体而言,专利文献1记载的控制装置在控制程序内内置有基于准许执行的特定的PLC的固有值(例如串行ID)的认证梯。而且,在使控制程序在特定的PLC上工作时,使用认证梯进行认证。控制装置只在认证成功后的情况下准许该控制程序的执行,因此,即使假设控制程序泄露(流出),控制程序在其它控制装置上也不工作。由此,即使假设该控制程序泄露,因为控制程序在其它控制装置上不工作,所以能够防止程序的不正当使用。
现有技术文献
专利文献
专利文献1:(日本)特开2011-165041号公报
专利文献2:(日本)特开2009-70144号公报
发明内容
发明要解决的课题
然而,在控制装置发生了故障的情况下,在修理发生了故障的控制装置的期间,工厂的生产活动停止,所以,有时采用通过由维护员等临时设置替代机而使工厂的生产活动继续的方法。
但是,在专利文献1、2记载的发明中,使用基于串行ID等控制装置的固有值的认证信息进行认证,只有在认证成功了的情况下,才准许该控制程序的执行。因此,在控制装置发生了故障的情况下,不能直接将在发生了故障的控制装置中使用的控制程序直接用于替代机。该情况下存在以下问题,即,由于在控制程序内内置基于替代机的固有值(例如,串行ID)的认证梯,因此必须重新改写替代机用控制程序(编译等,compile)、直至控制装置的恢复、即工厂的生产活动再次启动的过程耗费时间。
本发明为了解决这样的课题而提出,其目的在于提供一种考虑控制程序的运用、维护性的同时,从在PLC上工作的控制程序的安全观点出发,防止控制程序的不正当使用的控制***、控制装置和程序执行控制方法。
解决课题的技术手段
为了解决上述问题,本发明采用了具有以下特征的用于解决上述课题的装置。
本发明的一个方式的控制***,包含安全文件发行装置、安全码登录装置、辅助加载器和控制装置,其特征在于:上述安全文件发行装置具有:生成包含第一安全码的安全文件的安全文件生成单元,上述安全码登录装置具有:安全码转换单元,其将从上述安全文件取得的上述第一安全码通过规定的算法转换成第二安全码;和安全信息登录单元,其将包含上述第二安全码的安全信息登录到上述控制装置,上述辅助加载器具有:生成包含上述第一安全码和规定的程序码的用户程序的程序生成单元,上述控制装置具有:第一存储器,其存储上述用户程序;第二存储器,其存储包含由上述安全信息登录单元登录的上述第二安全码的安全信息;执行准许单元,其准许存储于上述第一存储器的上述用户程序的执行;和程序执行单元,其执行由上述执行准许单元准许执行的上述用户程序,上述执行准许单元,在存储于上述第一存储器的上述用户程序包含上述规定的程序码时,通过上述规定的算法对上述用户程序中所含的第一安全码进行转换,对转换后的该安全码与从存储于上述第二存储器的安全信息取得的第二安全码进行比较,在相一致的情况下准许上述用户程序的执行。
另外,本发明的一个方式的控制装置具有:第一存储器,其存储包含第一安全码和规定的程序码的用户程序;第二存储器,其存储包含第二安全码的安全信息,该第二安全码由安全码登录装置以规定的算法将上述第一安全码转换并登录;执行准许单元,其准许存储于上述第一存储器的上述用户程序的执行;程序执行单元,其执行由上述执行准许单元准许执行的上述用户程序,上述执行准许单元,在存储于上述第一存储器的上述用户程序中包含上述规定的程序码时,通过上述规定的算法对上述用户程序包含的第一安全码进行转换,对转换后的该安全码与从存储于上述第二存储器的安全信息取得的第二安全码进行比较,在相一致的情况下,准许上述用户程序的执行。
另外,本发明的一个方式的程序执行控制方法中,安全码登录装置生成包含第二安全码的安全信息并将该安全信息输入至控制装置,该第二安全码是将第一安全码通过规定的算法转换而成的,辅助加载器生成用户程序并将该用户程序输入至上述控制装置,上述用户程序包含规定的程序码和上述第一安全码,上述控制装置在上述用户程序中包含上述规定的程序码时,对从上述辅助加载器输入的上述第一安全码通过上述规定的算法进行转换,以转换后的该安全码和上述第二安全码相一致为条件,准许上述用户程序的执行。
另外,将本发明的结构要素、表现或结构要素的任意组合适用于装置、方法、计算机程序、存储介质等的方案作为本发明的方式也是有效的。
发明的效果
根据本发明,能够提供一种考虑控制程序的运用、维护性的同时,从在PLC上工作的控制程序的安全观点出发,防止控制程序的不正当使用的控制***、控制装置和程序执行控制方法。
附图说明
图1表示本实施方式的控制***结构图(概略图)之一例;
图2是本实施方式的控制***结构图的功能结构例;
图3表示本实施方式的安全文件发行装置的操作画面例(其一);
图4表示本实施方式的安全文件发行装置的操作画面例(其二);
图5表示本实施方式的安全码登录装置的操作画面例;
图6表示本实施方式的辅助加载器的程序编辑器画面例;
图7是表示本实施方式的信息处理1的流程的时序图;
图8是表示本实施方式的信息处理2的流程的时序图;
图9是表示本实施方式的程序执行部205的PLC程序执行控制处理流程的流程图;
图10是表示本实施方式的SFB功能部206的安全码检查处理流程的流程图;
图11是本应用例的控制***结构图的功能结构例;
图12表示“有效位置信息”的指定例;
图13是表示本应用例的SFB功能部206的安全码检查处理流程的流程图。
符号说明
100辅助加载器
101程序生成部
102存储器
200PLC
201安全信息登录接受部
202安全存储器
203动作时间测量部
204程序存储器
205程序执行部
206SFB功能部206
207比较核对部
208码转换部
209通知部
210用户ROM卡槽
211位置信息取得部
300安全文件发行装置
301安全文件生成部
400安全码登录装置
401安全文件读取部
402存储器
403安全信息登录部
404码转换部
具体实施方式
下面,参照附图列举实施例对用于实施本发明的方式进行说明。
[***结构]
图1表示本实施方式的控制***结构图〔概略图〕的一例。如图1所示,本实施方式的***包括辅助加载器100、PLC200、安全文件发行装置300、安全码登录装置400。
辅助加载器100是生成在PLC200主体工作的PLC程序(控制程序)的辅助用计算机装置。因此,辅助加载器100具备PLC程序生成用程序编辑器。通过程序编辑器,程序生成画面显示在显示器上,因此,用户能够在该画面上开发期望的PLC程序。另外,用户开发后的PLC程序从辅助加载器100下载到PLC200。
PLC200是作为工厂自动化(FA)的控制装置使用的可编程逻辑控制器(ProgrammableLogicController)。PLC200将从输入模块输入的信号存储到I/O(Input/Output,输入/输出)存储器,基于在程序存储器201中预先登录的PLC程序进行逻辑运算。另外,将该运算结果写入I/O存储器后发送到输出模块,然后执行所谓的周边***处理(加载处理、各种***处理)。PLC200通过反复进行这些处理,控制作为对象的控制设备。
安全文件发行装置300是生成安全文件(SecurityFile,保密文件)并输出的终端装置。该安全文件在安全码登录装置400将“安全码(SecurityCode,保密码)”向PLC200登录时使用。
安全码登录装置400是用于将含有“安全码”、“试用期间”的安全信息向PLC200登录的终端装置。即,安全码登录装置400从安全文件发行装置300取得安全文件,将该安全文件所含的安全码取出并登录到PLC200。另外,安全码登录装置400除了安全码,也将用户输入的试用期间登录到PLC200。
以上为本实施方式的控制***结构例。另外,在通常的情况下,在PLC200运行中,辅助加载器100、安全文件发行装置300和安全码登录装置400被从PLC200取下进行使用。另外,安全文件发行装置300和安全码登录装置400等优选例如由开发PLC程序的制造商保管、管理,不放置在用户处的放置有PLC200的地方。
[功能结构]
图2是本实施方式的控制***结构图的功能结构例。下面,依次对每个装置进行说明。
(安全文件发行装置)
本实施方式的安全文件发行装置300包括安全文件生成部301。安全文件生成部301在收到用户从键盘等(输入部)输入的“安全码”(图中显示为SC-A)时,用安全码登录装置300的公开密钥盘将安全文件(图中显示为SF)加密、输出。在安全文件中含有用户输入的“安全码”。安全码登录装置400将加密后的安全文件解密,从而取得该“安全码”。另外,在安全码中除了含有安全码本身的值外,也能够含有该安全码的数据大小(例如,64bit等)。
(安全码登录装置)
本实施方式的安全码登录装置400包括安全文件读取部401、存储器402、安全信息登录部403、码转换部404。
安全文件读取部401读取从安全文件发行装置300发行的安全文件。另外,由于安全文件被加密,因此,安全文件读取部401使用对应上述公开密钥的加密密钥将安全文件解密。然后,安全文件读取部401从解密后的安全文件中提取出“安全码”(SC-A)并保存到存储器402。
安全信息登录部403从存储器402取得“安全码”。然后,安全信息登录部403委托码转换部404将该“安全码”(SC-A)转换为不同的“安全码”(图中为SC-B)。
另外,安全信息登录部403接受从用户输入的“试用期间”。“试用期间”是在使用PLC200时,用于指定即使未购买正当的许可证(license)等也可以临时使用PLC200的期间的信息。“试用期间”的输入方法具有例如10小时、1天、1个月等具体的期间的输入、或2011年3月1日(迄止)这样具体的日期的输入。另外,安全信息登录部403生成含有转换后的“安全码”(SC-B)和“试用期间”的安全信息(也可以只是“安全码”),并向PLC200登录该安全信息。安全信息的登录利用通过网络途径以及USB(UniversalSerialBus,通用串行总线)端口或串口等与PLC200连接的缆线向PLC200发送安全信息来实现。PLC200只从安全码登录装置400(安全信息登录部403)接受安全信息的登录,不接受来自其它装置的安全信息的登录。另外,安全信息登录部403也可以将生成的安全信息保存到存储器402中。
码转换部404根据安全信息登录部403的委托将取得的安全码用规定的算法转换为其它的不同的安全码。本实施方式中,具体而言为将“安全码A”(SC-A)转换为“安全码B”(SC-B)。
(辅助加载器)
本实施方式的辅助加载器100包括程序生成部101、存储器102。
程序生成部101通过PLC程序生成用程序编辑器实现,进行以PLC200主体工作的PLC程序的生成(生成辅助)。程序生成部101对用户提供程序编辑器、各种工具(tool)等,生成用户期望的PLC程序。
另外,在PLC程序生成时,在考虑想保护用户生成中的程序的情况下,例如,用户从程序编辑器上进行规定操作。程序生成部101接受该规定操作,对生成中的程序进行下面那样的处理。即,程序生成部101在PLC程序的初始化处理或执行处理时等,以调出安全码检查用***功能块(称为SFB)的方式生成程序码。
更具体而言,程序生成部101在PLC200执行该PLC程序时,将调出安全码检查用SFB功能部206的码追加到用户生成的程序码的一部分。另外,作为安全码检查用的SFB206用的参数,一并预先设定“安全码”。另外,该安全码在安全文件发行装置300中需要设置与用户输入的“安全码A”(SC-A)相同的安全码。
而且,程序生成部101进行追加了调出安全码检查用SFB功能部206的码的用户生成的程序码的编译,生成PLC程序。另外,所生成的PLC程序保存在存储器102。另外,所生成的PLC程序被发送到PLC200(下载)。
(PLC)
然后,本实施方式的PLC200包括安全信息登录接受部201、安全存储器202、动作时间测量部203、程序存储器204、程序执行部205、SFB功能部206(包括比较核对部207、码转换部208)、通知部209。
安全信息登录接受部201从安全码登录装置400(安全信息登录部403)接受安全信息,并将接受到的安全信息登录(保存)到安全存储器202。在安全信息中,如上所述含有“安全码”(SC-B)和“试用期间”,因此,将这些信息提取出并保存到安全存储器202。另外,安全信息登录接受部201只将从安全码登录装置400(安全信息登录部403)接受到的安全信息登录到安全存储器202,不接受来自其它装置的安全信息的登录。
安全存储器202由抗篡改性高的安全芯片、闪存存储器实现,其为限制访问的存储器。在本实施方式中,只有安全信息登录接受部201和动作时间测量部203对安全存储器202具有写入权限,另外,只有比较核对部207对安全存储器202具有读出权限。另一方面,用户不能对安全存储器202进行访问。如图2所示,在本实施方式的情况下,在该安全存储器202存储“安全码B”、“试用期间”、“动作时间”。
动作时间测量部203在向安全存储器202保存“试用期间”的时刻开始PLC200的“动作时间”的测量。动作时间测量部203与PLC200的标准时钟(内部时钟)不同地,其通过独立的时钟进行PLC200的动作时间的测量(例如,以PLC的扫描周期(从读入输入数据到下一次读入输入数据的期间)为基础,测量PLC的动作时间)。用独立的时钟进行PLC200的动作时间的测量的理由是为了防止由于用户的倒回标准时钟的时间的行为等引起的动作时间的篡改。因此,虽然用户能够访问PLC200的标准时钟,但不能访问动作时间测量部203。动作时间测量部203在每次测量后将测量出的“动作时间(信息)”逐一保存到安全存储器202。
程序存储器204是用于存储由辅助加载器100生成的在PLC200主体工作的PLC程序的存储器。与安全存储器202如上所述禁止来自用户的访问相对,程序存储器204是允许来自用户的访问的用户存储器。
用户也可以预先将辅助加载器100生成的PLC程序存储到存储介质,将存储有PLC程序的该存储介质***PLC200的用户ROM卡槽210。该情况下,PLC200将存储于该存储介质的PLC程序传输到程序存储器204。
程序执行部205执行存储于程序存储器204的PLC程序。但是,在PLC程序中含有调出安全码检查用SFB功能部206的码的情况下,根据该码调出SFB功能部206。而且,程序执行部205只有在从SFB功能部206得到PLC程序的执行准许后才继续PLC程序的执行,在未得到PLC程序的执行准许的时,禁止(停止)PLC程序的执行。另外,该处理并非只在PLC程序的执行处理时实施,例如,在PLC程序的初始化处理时也可以实施。该情况下,禁止后面的该PLC程序的执行。
SFB功能部206为安全码检查用SFB,相当于执行准许部。具体而言,比较核对部207包含码转换部208。比较核对部207接受来自程序执行部205的调出,实施下面的处理。
首先,比较核对部207取得存储于安全存储器202的“试用期间”和“动作时间”。如上述,“试用期间”是用于指定即使未购买正当的许可证等也能够暂时使用PLC200的期间的信息,因此,在PLC200的“动作时间”在“试用期间”内的情况下,对于程序执行部205准许作为安全码检查对象的PLC程序的执行。
另一方面,在PLC200的“动作时间”不在“试用期间”内的情况下(“动作时间”已经过了“试用期间”的情况下),对于程序执行部205,禁止作为安全码检查对象的PLC程序的执行(不准许)。
另外,另一方面,在“试用期间”未保存于安全存储器202的情况下,比较核对部207实施在PLC程序中所含的安全码的检查。
首先,比较核对部207取得在作为安全码检查对象的PLC程序中作为参数设定的“安全码”(例如SC-A)。然后,向码转换部208委托“安全码”的转换。
安全码转换部208根据比较核对部207的委托转换“安全码”。码转换部208通过与安全码登录装置400的码转换部404相同的算法转换为安全码。在本实施方式的情况下,将“安全码A”转换为“安全码B”。码转换部208将转换后的“安全码”交接给比较核对部207。
比较核对部207取得转换后的“安全码”后,接着取得保存于安全存储器202的“安全码”(例如,SC-B)。然后,将通过码转换部208转换的“安全码”和安全存储器202中的“安全码”进行比较(或核对),在两个安全码一致的情况下,对于程序执行部205,准许作为安全码检查对象的PLC程序的执行。
另一方面,在两个安全码不一致的情况下,对于程序执行部205,禁止作为安全码检查对象的PLC程序的执行(不准许)。
通知部209向用户等通知PLC程序的执行结果。具体的通知方法为向各装置的显示器等通知或向日志文件输出日志或向规定的终端通过邮件等进行通知。
以上是本实施方式的控制***结构图的功能结构例。这些各功能部实际上可以通过各装置的CPU执行的程序在计算机上实现。另外,这些功能块不一定必须通过明确分离的程序来实现,也可以作为子程序(subroutine)或函数从其它程序调出。另外,功能块的一部分也可以是IC(IntegratedCircuit,集成电路)或FPGA(FieldProgrammableGateArray,现场可编程逻辑门阵列)等硬件装置。
另外,与这些各功能部相关的程序不保存在通常的程序存储器204区域,而保存在用户不能直接访问的强化了安全的区域(未图示)。
[操作画面例]
下面,对各装置的操作画面例进行说明。
(安全文件发行装置)
图3表示本实施方式的安全文件发行装置的操作画面例(其一)。如上所述,安全文件发行装置300是生成安全文件并输出的终端装置。
用户可以通过操作在安全文件发行装置300的显示器画面显示的操作画面生成并输出安全文件。如图3所示,用户首先在用户认证画面(a)中输入用于向安全文件发行装置300登陆(login)的密码。在用户认证成功后,进入菜单画面(b)。然后,在菜单画面(b)中,当用户按下“安全文件发行”时,进入安全文件发行画面(c)。
在安全文件发行画面(c)中,用户输入任意的“安全码”后,按下“追加”。输入的安全码被追加到“一览表”。另外,“发行备忘”中,可以对每个发行的安全文件合并添加任意的备忘。
然后,用户按下“发行”。之后,显示确认画面(d),含有追加到“一览表”的安全码的安全文件的输出结束。
这样生成、输出的安全文件在安全码登录装置400向PLC200登录安全码时使用。用户可以例如将安全文件保存到便携型存储介质,经由该存储介质将安全文件转移到安全码登录装置400。或,也可以经由网络将安全文件转移到安全码登录装置400。
图4表示本实施方式的安全文件发行装置的操作画面例(其二)。具体而言,当按下图3(b)中“发行履历显示”时,显示该“安全文件发行履历显示”。如图4所示,安全文件发行装置300显示过去发行的安全文件的详情(“发行日”、“安全码”、“发行备忘”等)。
(安全码登录装置)
图5表示本实施方式的安全码登录装置的操作画面例。如上述所示,安全码登录装置400是用于将含有“安全码”或“试用期间”的安全信息向PLC200登录的终端装置。用户通过操作在安全码登录装置400的显示器画面显示的操作画面取得安全文件。另外,取出在安全文件中所含的安全码并登录到PLC200。
如图5所示,用户首先在用户认证画面(a)中输入用于向安全码登录装置400登陆的密码。在用户认证成功后,进入菜单画面(b)。然后,在菜单画面(b)中,当用户按下“安全信息登录”时,进入安全信息登录画面(c)。
在安全信息登录画面(c),用户首先指定安全信息的登录目的地PLC。在图例的情况下,PLC假设为经由USB端口连接的情况和经由网络连接的情况,用户可以通过任一种方法指定安全信息的登录目的地(发送目的地)的PLC。
然后,用户通过按下“安全文件读取”对安全码登录装置400进行安全文件的读取。具体而言,用户将保存有由安全文件发行装置300生成的安全文件的存储介质与安全码登录装置400连接。然后,按下“安全文件读取”,指定在存储介质中保存的安全文件后进行安全文件的读取。
当用户进行安全文件的读取时,安全文件内的安全码显示在“安全码”栏。另外,在安全文件内存在多个安全码的情况下,多个安全码显示在“安全码”栏。用户从这当中选择登录PLC的一个安全码。
然后,用户进行“试用期间的登录”。具体而言,在进行“试用期间的登录”的情况下,点选图例中的“是”,且输入“时间”进行指定。在不进行“试用期间的登录”的情况下,点选“否”(“试用期间”的登录为任意)。
“动作时间重置”用于指定将动作时间不重置/重置。对于PLC,“试用期间”可以进行再登录,因此,在再登录时,能够指定将在再登录时刻迄止测量的动作时间不重置/重置。“试用期间”的初次登录时必须指定为不进行“动作时间重置”(默认值)。
在上述设定的基础上,用户按下“登录”。之后,显示确认画面(d),对于安全信息的登录目的地PLC,选择了的“安全码”和“试用期间”的登录完成。即,在图例的情况下,在该时刻,将“安全码”:006BZ-dpAo2wTsb83amk、“试用期间”:10(小时)登录到PLC200的安全存储器202。另外,在不进行“试用期间的登录”的情况下,对于安全信息登录目的地PLC,仅选择的“安全码”的登录结束。
(辅助加载器)
图6表示本实施方式的辅助加载器的程序编辑器画面例。如上述,辅助加载器为辅助PLC程序的生成用的计算机装置。用户在该画面上开发期望的PLC程序。另外,用户开发的PLC程序从辅助加载器100下载到PLC200。
用户在保护生成中的作为保护对象的程序的情况下,从例如程序编辑器上进行规定操作。由此,对于用户生成的“作为保护对象的程序码”,在PLC200侧追加调出安全码检查用SFB的“SFB用程序码”。然后,用户在程序编辑器上进行含有“作为保护对象的程序码”和“SFB用程序码“的程序码的编译,生成PLC程序。另外,将所生成的PLC程序发送到PLC200。
[信息处理]
下面,对各装置的信息处理例进行说明。
(信息处理1)
图7是表示本实施方式的信息处理1的流程的时序图。具体而言,首先,对在信息处理1中,安全文件发行装置300生成、输出安全文件的处理、和安全码登录装置400向PLC200登录含有“安全码”、“试用期间”的安全信息的处理进行说明(同时参照图2)。
S1:首先,用户向安全文件按发行装置300输入“安全码A”(例如,参照图3(c))。
S2:当安全文件发行装置300的安全文件生成部301接受用户输入的“安全码”(例如,SC-A)后,生成含有该“安全码”(例如,SC-A)的安全文件。
S3:安全文件生成部301使用安全码登录装置300的公开密钥将所生成的安全文件加密。
S4:安全文件生成部301输出加密后的安全文件(例如,参照图3(d))。输出方法具有例如将安全文件保存到便携型存储介质,经由该存储介质将安全文件转移到安全码登录装置400的方法。或者,也可以经由网络将安全文件发送到安全码登录装置400。
S5:然后,安全码登录装置400的安全文件读取部401读取由安全文件发行装置300发行的安全文件(例如,参照图5(c))。
S6:安全文件读取部401使用对应于上述公开密钥的加密密钥将加密过的安全文件进行解密。
S7:安全文件读取部401从解密后的安全文件中抽取“安全码”(例如,SC-A)并保存到存储器402。
S8:当安全信息登录部403从用户接受安全信息登录的指示时,向码转换部404委托将用户选择的一个“安全码”(例如,SC-A)转换为“安全码”(例如,SC-B)。码转换部404根据来自安全信息登录部403的委托,将取得的安全码按照规定的算法转换为其它不同的安全码。在本实施方式中,将“安全码A”转换为“安全码B”。另外,这样转换“安全码”是为了进一步提高安全性。例如,即使在“安全码A”泄露了的情况下,也不能直接使用“安全码A”,没有最后用于比较(或核对)的“安全码B”时,不能执行PLC程序。
S9:在此,当用户输入“试用期间”时,安全信息登录部403取得该“试用期间”(例如,参照图5(c))。
S10:安全信息登录部403生成含有转换后的“安全码”(例如,SC-B)和输入的“试用期间”的安全信息。另外,向作为安全信息的登录目的地指定的PLC200登录该安全信息(例如,参照图5(d))。具体而言,如上所述,安全信息经由USB、LAN等网络被发送到PLC200,并在PLC200侧登录(保存)到安全存储器202。
另外,如上所述,对于PLC200,“试用期间”可进行再登录,在再登录时,可以指定将再登录时刻迄止测量出的动作时间进行不重置/重置(例如,参照图5(c))。因此,在“试用期间”的再登录时且在指定“动作时间重置”为“是”的情况下,安全信息登录部403在登录安全信息时,同时将表示“动作时间重置”的标记(flag)发送到PLC200。
另外,只有在安全码登录装置400中,用户不能自由向PLC200登录任意的安全码,即,需要将在安全信息发行装置300输出的安全文件读入安全码登录装置400(S5)。这样构成的理由如下,假设,即使在安全码登录装置400泄露了的情况下,试图不正当使用PLC程序的用户也不能自由向PLC的安全存储器202登录与PLC程序内的安全码(参数)一致的安全码。
S11:然后,PLC200的安全信息登录接受部201将从安全码登录装置400(安全信息登录部403)取得的安全信息即“安全码”(例如,SC-B)和“试用期间”保存到安全存储器202。另外,如上所述,由于该安全存储器202是限制访问的存储器,所以,用户不能对该安全存储器202进行访问。
另外,如上述,安全信息登录接受部201只向安全存储器202登录从安全码登緑装置400(安全信息登录部403)接受来的安全信息,不接受来自其它装置的安全信息的登录。因此,PLC200确认安全信息的登录方(发送方)为安全码登录装置400后,登录该安全信息。另一方面,PLC200在不能确认安全信息的登录方(发送方)为安全码登录装置400时,放弃该安全信息。
作为登录方(源头)的具体的确认方法,例如在安全信息的收发时,PLC200能够利用使用仅安全码登录装置400具有的密钥(key)(规定的数据或密码等)的认证,确认登录方。另外,例如,也可以利用通用密钥密码方式(也称为加密密钥(安全密钥)密码方式)。安全码登录装置400使用安全码登录装置400的通用密钥(加密密钥)将安全信息加密,将加密后的安全信息发送到PLC200。PLC200具有与安全码登录装置400相同的通用密钥(加密密钥),使用该通用密钥(加密密钥)将安全信息解密,由此能够确认登录方。
S12:动作时间测量部203在将“试用期间”保存到安全存储器202的时刻开始PLC200的动作时间的测量。动作时间测量部203为了防止动作时间的篡改,与PLC200的标准时钟(内部时钟)分开,利用独立的时钟进行PLC200的动作时间的测量。另外,动作时间测量部203按照每次测量,将测量的动作时间逐一保存到安全存储器202。
另外,在此前的“试用期间”已经存在于安全存储器202的情况下,动作时间测量部203表示已经开始PLC200的动作时间的测量。而且,如上述,在“试用期间”能够进行再登录时,在从安全码登录装置400(安全信息登录部403)发送来表示“动作时间重置”的标记的情况下,在S11中,安全信息接受部201替换(更新)在安全存储器202上已存在的“试用期间”。另外,动作时间测量部203开始新的PLC200的动作时间的测量。
(信息处理2)
图8是表示本实施方式的信息处理2的流程的时序图。具体而言,在信息处理2中,对辅助加载器100的PLC程序生成处理、辅助加载器100的PLC程序下载处理、和PLC200的PLC程序执行控制处理进行说明(同时参照图2)。
S21:首先,辅助加载器100的程序生成部101生成在PLC200主体工作的PLC程序的程序码(例如,参照图6)。即,当用户通过程序编辑器生成用户期望的用户程序码时,程序生成部101在该用户程序码的一部分追加调出安全码检查用SFB206的程序码。另外,同时,作为SFB206用参数,预先设定“安全码”(例如,SC-A)。该安全码由用户给出,并设定为与向安全文件发行装置300输入的“安全码”(例如,SC-A)相同。
S22:然后,当生成含有用户程序码和调出SFB206的程序码的程序码时,程序生成部101进行编译,生成PLC程序。另外,程序生成部101将生成了的PLC程序保存到存储器102。
S23:然后,程序生成部101通过用户操作或自动操作等将生成的PLC程序发送到PLC200。
S24:PLC200的程序执行部205控制在程序存储器204存储的PLC程序的执行。程序执行部205在进行PLC程序的执行处理时,在PLC程序中含有调出SFB功能部206的码的情况下,根据该码进行SFB功能部206的调出。而且,程序执行部205根据来自SFB功能部206的返回值(“准许执行”或“禁止执行”)进行是继续同PLC程序的执行还是禁止(中止)执行的控制。该详情另外叙述。另外,在PLC程序中不含调出SFB功能部206的码的情况下,程序执行部205只要直接进行PLC程序的执行即可。
S25:通知部209将PLC程序的执行结果通知给用户等。具体而言,作为通知方法,可以在各装置的显示器等进行通知,或通过向日志文件进行日志输出或向规定的终端发送邮件进行通知。另外,该通知也可以只在PLC程序的执行被禁止了的情况下进行通知。
(PLC程序执行控制处理)
图9是表示本实施方式的程序执行部205的PLC程序执行控制处理流程的流程图。具体而言,对于上述PLC程序执行控制(图8中S24),下面参照附图进行说明。
S31:PLC200的程序执行部205执行在程序存储器204存储的PLC程序。此时,判定PLC程序中是否含有调出安全码检查用SFB功能部206的码。在此,在PLC程序中不包含调出安全码检查用SFB功能部206的码的情况下,因为该PLC程序不是被特别保护的程序,所以程序执行部205进入S34,直接执行PLC程序。
S32:在PLC程序中含有调出安全码检查用SFB功能部206的码的情况下,根据该码,程序执行部205进行SFB功能部206的调出。在此,程序执行部205在调出SFB功能部206时,将在PLC程序中作为SFB206用参数设定的“安全码”(例如SC-A)传给SFB功能部206。
S33:程序执行部205从SFB功能部206取得返回值(“准许执行”或“禁止执行”)。在返回值为“准许执行”的情况下,进入S34。另一方面,在返回值为“禁止执行”的情况下,进入S35。
S34:程序执行部205在来自于SFB功能部206的返回值为“准许执行”的情况下,执行PLC程序。由此,PLC200主体通过该PLC程序实施用户期望的动作。
S35:另一方面,程序执行部205在来自SFB功能部206的返回值为“禁止执行”的情况下,将该PLC程序视为非正当的PLC程序,禁止(中止)执行。
(SFB功能处理)
图10是表示本实施方式的SFB功能部206的安全码检查处理流程的流程图。具体而言,对于上述PLC程序执行控制(图9中S32),下面参照附图进行说明。
S41:在图9中S32中,当通过程序执行部205执行SFB功能部206的调出时,SFB功能部206的比较核对部207从安全存储器202取得“试用期间”。在取得了“试用期间”的情况下,进入S42。另一方面,在不能取得“试用期间”的情况下,进入S45。另外,不能取得“试用期间”的情况是指在安全存储器202未登录“试用期间”的情况。
S42:比较核对部207在取得了“试用期间”的情况下,接着从安全存储器202取得“动作时间”。“动作时间”在保存“试用期间”的时刻开始该测量,因此,在将“试用期间”登录于安全存储器202的情况下,“动作时间”也被保存在安全存储器202。
S43:比较核对部207在从安全存储器202取得“动作时间”和“试用期间”时,基于“动作时间”判定“试用期间”是否处于可利用的期间内。如上所述,“试用期间”表示PLC200的可利用的期间,“动作时间”表示PLC200的“动作时间”。因此,比较核对部207基于“动作时间”和“试用期间”能够判定PLC200是否处于“试用期间”内。在PLC200处于“试用期间”内的情况下,进入S44。另一方面,在PLC200不在“试用期间”内的情况下,进入S51。
例如,在从PLC200的动作开始经过5小时的情况下,“动作时间”为5(H),如“试用期间”设为10(H),则判定PLC200处于可利用的“试用期间”内。另外,例如,在从PLC200的动作开始已经过12小时的情况下,“动作时间”为12(H),若“试用期间”设为10(H),则判定PLC200不在可利用的“试用期间”内。
S44:比较核对部207为了准许作为安全码检查对象的PLC程序的执行,向程序执行部205发行返回值:“准许执行”。
S45:另一方面,比较核对部207在从安全存储器202不能取得“试用期间”的情况下(S41),向码转换部208委托参数:“安全码”(例如,SC-A)的转换。在“安全码”中,在通过程序执行部205进行SFB功能部206的调出时,取得在PLC程序中作为SFB206用参数设定的码(图9中S32)。
S46:码转换部208根据比较核对部207的委托转换“安全码”。码转换部208将其根据与安全码登录装置400的码转换部404相同的算法转换为安全码。因此,在本实施方式的情况下,“安全码A”被转换为“安全码B”。码转换部208将转换后的“安全码”传给比较核对部207。
S47:比较核对部207在从码转换部208取得了转换后的“安全码”的情况下,进入S48。另一方面,在从码转换部208不能取得转换后的“安全码”的情况下,进入S51。
S48:比较核对部207从安全存储器202取得“安全码”(例如,SC-B)。在取得了“安全码”的情况下,进入S49。另一方面,在不能取得“安全码”的情况下,进入S51。另外,不能取得“安全码”的情况是在安全存储器202中未登录“安全码”的情况。
S49:比较核对部207在取得转换后的参数“安全码”和安全存储器202中的“安全码”时,对两安全码进行比较(或核对)。
S50:在两安全码一致的情况下,进入S44。即,比较核对部207为了准许作为安全码检查的对象的PLC程序的执行,向程序执行部205发行返回值:“准许执行”。另一方面,在两安全码不一致的情况下,进入S51。
S51:比较核对部207为了禁止作为安全码检查的对象的PLC程序的执行,向程序执行部205发行返回值:“禁止执行”。
[总结]
上面,在本实施方式的信息处理例中,在PLC200执行PLC程序时,通过向PLC程序追加的调出SFB的码,调出SFB功能部206,实施PLC程序内的安全码检查处理。另一方面,在构成PLC200的访问受到限制的安全存储器202经由安全文件发行装置300和安全码登录装置400预先存储有“安全码”。然后,通过与PLC程序内的转换后的安全码的比较(或核对),在两安全码一致的情况下,判定该PLC程序为正当的PLC程序,并在PLC200准许该PLC程序的执行。另一方面,在两安全码不一致的情况下,判定该PLC程序不是正当PLC程序(为PLC程序的不正当使用),在PLC200禁止该PLC程序的执行。
这样,根据本实施方式,只有正当的PLC才能使PLC程序运行,因此,实现防止PLC程序的不正当使用的效果。而且,对于使用PLC进行产品开发的装配制造商等,能够防止PLC、PLC程序的仿制品或盗版产品流入市场。
另外,在此,在例如本实施方式的PLC200发生了故障的情况下,在修理发生了故障的PLC200期间,考虑由于工厂的生产活动停止而临时设置替代机的PLC(设为PLC200-2),使工厂的生产活动继续。此时,具体的使用代替机的恢复工作如下进行。
首先,维护工作者(等)物理性设置替代机PLC200-2。然后,维护工作者从安全码登录装置400向替代机PLC200-2登录安全信息。该安全信息与向发生了故障的PLC200登录的安全信息相同。只要将保存在安全码登录装置400的存储器402的代码直接登录就可以。由此,在代替机PLC200-2的安全存储器202存储“安全码”(例如,SC-B)。
然后,维护工作者向替代机PLC200-2的程序存储器204存储PLC程序(下载)。该PLC程序与对发生了故障的PLC200使用的PLC程序相同。只要直接存储在辅助加载器100的存储器102保存的码即可。或者,如上所述,在已将由辅助加载器100生成的PLC程序存储到***用户ROM卡槽210的存储介质的情况下,维护工作者从发生了故障的PLC200拔取存储介质,将该存储介质***替代机PLC200-2的用户ROM卡槽210。由此,在替代机PLC200-2的程序存储器204存储(传输)有截至目前为止使用的PLC程序。
然后,在替代机PLC200-2中,维护工作者只要执行PLC程序即可。在PLC程序执行时,即使在SFB功能部206(比较核对部207)的安全码检查处理中,由于PLC程序内的参数转换的“安全码”(例如SC-B)和安全存储器202的“安全码”(例如,SC-B)一致,因此准许PLC程序的执行。
通过以上这样的简单的恢复工作,即使在替代机PLC200-2中,也可以执行与在发生了故障的PLC200执行的程序相同的PLC程序。即,使用替代机PLC200-2,可迅速再开始与发生了故障的PLC200相同的成产活动。
另外,本实施方式的信息处理例中,在由PLC200执行PLC程序时实施安全码检查处理,但是,只要在“试用期间”内,则不需要两“安全码”一致也可执行PLC程序。
前面介绍了从安全码登录装置400向替代机PLC200-2登录安全信息的情况,但在安全码登录装置400不在身边的情况下,维护工作者不能够从安全码登录装置400向替代机PLC200-2登录与在发生了故障的PLC200登录的安全信息相同的安全信息。
但是,即使在这样的情况下,维护工作者只要准备替代机的安全文件发行装置(设为安全文件发行装置300-2)和替代机的安全码登录装置(设为安全码登录装置400-2)即可。维护工作者在替代机安全文件发行装置300-2和替代机安全码登录装置400-2中,即使在不知道正当的“安全码”的情况下,也可以输入任意(虚设:Dammy)的“安全码”(例如,参照图3(c)、图5(c))。而且,若将发生故障的PLC200的修理完成迄止程度的期间作为“试用期间”登录(例如,参照图5(c))并向替代机PLC200-2登录含有任意(虚设)的“安全码”和“试用期间”的安全信息,则即使两“安全码”不一致,也能够暂定进行PLC程序的执行。即,使用替代机PLC200-2,可迅速再开始与发生了故障的PLC200同样的生产活用。
另外,在将PLC程序存储于PLC200(包括PLC200-2)前,预先作为“试用期间”的初期值登录一个月或一周等“试用期间”,由此不需要上述由维护工作者进行的“试用期间”的登录。
而且,在“试用期间”的期间,在向用户目的地借出PLC200的情况下,向PLC200预登录“安全码”和“试用期间”后借出,由此“试用期间”的检查有效。之后,在试用期间当中用户希望购买PLC200的情况下,通过删除登录了的“试用期间”,此后“安全码”的检查有效。
这样,根据本实施方式的PLC,能够考虑控制程序的运用、维护性,并从在PLC上工作的控制程序的安全观点出发,防止控制程序的不正当使用。
[应用例]
下面,对PLC200具备GPS(GlobalPositioningSystem,全球定位***)传感器,并对使用PLC的位置实施认证的例子进行说明。即,在PLC200执行PLC程序时,认证是否在该PLC程序的使用被承认的使用位置设置该PLC。而且,在PLC200位于该使用位置的情况下,PLC200准许该PLC程序的执行。由此,进一步提高在PLC上工作的控制程序的安全性。下面进行说明。
图11是本应用例的控制***结构图的功能结构例。相比上述图2的功能结构例,在辅助加载器100和PLC200的局部方面不同。下面,以不同点为中心进行说明。
(辅助加载器)
在本应用例的辅助加载器100中,程序生成部101进行在PLC200主体工作的PLC程序的生成(生成辅助)。此时,程序生成部101如上所述对于用户生成的用户程序码,将调出安全码检查用SFB功能部206的码追加到用户生成的程序的一部分。另外,同时作为安全码检查用SFB206用参数,预先设定“安全码A”。另外,还在本应用例中,作为安全码检查用SFB206用参数预先设定“有效位置信息”。
“有效位置信息”为用于指定准许PLC程序的执行的PLC200的使用位置(设置位置)的信息。即,在PLC200位于“有效位置信息”指定的使用位置的情况下,PLC200准许该PLC程序的执行。因此,用户需要将PLC200的使用位置(例如,工厂的位置)指定为“有效位置信息”。
图12表示“有效位置信息”的指定例。“有效位置信息”以例如北纬a度b分c秒、东经d度e分f秒等的方式,可以以(纬度x.经度y)这样的从GPS取得的位置坐标的形式输入。
如(a)所示,用户可以将“有效位置信息”用2点的位置坐标指定。该情况下,矩形的范围内为有效位置范围,因此,可以以例如工厂等用地内为有效位置范围的方式进行指定。
另外,如(b)所示,用户可以将“有效位置信息”用多角点(多边形点)的位置作为指定。该情况下,多边形的范围内为有效位置范围,因此,可以指定例如工厂等的用地内为有效位置范围。
另外,例如(c)所示,用户可以将“有效位置信息”用一点的中心点的位置坐标进行指定。该情况下,一点的中心点的周边圆范围内为有效位置范围。对于相距中心点多少的圆范围内为有效位置范围,也可以在PLC200侧预先确定规定半径z,也可以由用户指定中心点的位置坐标和其半径z。
(PLC)
然后,如图11所示,在本应用例的PLC200中追加位置信息取得部211。位置信息取得部211通过GPS传感器等实现,其接收来自GPS卫星的信号,取得PLC200位于的位置的“现在位置信息”。位置信息取得部211将取得的“现在位置信息”传给安全信息登录接受部201。安全信息登录接受部201将该“现在位置信息”保存到安全存储器202。经由安全信息登录接受部201将“现在位置信息”保存到安全存储器202是因为对安全存储器202的访问被限制,安全信息登录接受部201对安全存储器202具有写入权限。另外,“现在位置信息”也是涉及安全的信息之一。
程序执行部205执行存储在程序存储器204的PLC程序。另外,程序执行部205在PLC程序中含有调出安全码检查用SFB功能部206的码的情况下,根据该码调出SFB功能部206。而且,程序执行部205只有在从SFB功能部206取得了PLC程序的执行准许的情况下,才继续PLC程序的执行,在得到PLC程序的禁止执行的情况下,禁止(停止)PLC程序的执行。
在比较核对部207通过程序执行部205调出SFB功能部206时,如上述,基于“试用期间”、“动作时间”、和“安全码”,判定PLC程序的准许执行、禁止执行。在本应用例中,还基于“现在位置信息”判定PLC程序的准许执行、禁止执行。
即,比较核对部207取得保存在安全存储器202中的“现在位置信息”。如上所述,安全存储器202中的“现在位置信息”表示设置有PLC200的位置信息。另外,比较核对部207取得在作为安全码检查的对象的PLC程序中作为参数设定的“有效位置信息”。然后,比较核对部207将“现在位置信息”和“有效位置信息”进行比较(或核对),在两位置信息一致的情况下(“现在位置信息”处于在“有效位置信息”指定的范围内的情况下),为了准许作为安全码检查对象的PLC程序的执行,向程序执行部205发行返回值:“准许执行”。另一方面,比较核对部207在两位置信息不一致的情况下,为了禁止作为安全码检查的对象的PLC程序的执行,向程序执行部205发行返回值:“禁止执行”。
(SFB功能处理)
图13是表示本应用例的SFB功能部206的安全码检查处理流程的流程图。与上述图10相比,追加紧随S50的S52~54的步骤,除此以外的步骤相同。下面,参照附图对S52~54进行说明。
S52:比较核对部207在S50中两安全码一致的情况下,接着从安全存储器202取得“现在位置信息”。在取得了“现在位置信息”的情况下,进入S53。另一方面,在不能取得“现在位置信息”的情况下,进入S51。另外,不能取得“现在位置信息”的情况是指例如位于通过GPS传感器不能取得位置信息的场所等。该情况下,也可以通知不能取得“现在位置信息”的情况,促进PLC的设置位置的修正等,以使其能够通过GPS传感器取得位置信息(图8中的S25)。
S53:比较核对部207比较(核对)“现在位置信息”和“有效位置信息”。另外,关于“有效位置信息”,比较核对部207在通过程序执行部205调出SFB功能部206时,取得在PLC程序作为SFB206用参数设定的“有效位置信息”(图9中的S32)。
S54:比较核对部207在“现在位置信息”和“有效位置信息”一致的情况下(“现在位置信息”处于“有效位置信息”指定的范围内的情况),进入S44。
然后,比较核对部207为了准许作为安全码检查的对象的PLC程序的执行,向程序执行部205发行返回值:“准许执行”(S44)。
另一方面,比较核对部207在两位置信息不一致的情况下,进入S51。而且,比较核对部207为了禁止作为安全码检查的对象的PLC程序的执行,向程序执行部205发行返回值:“禁止执行”。
以上,在本应用例中,通过在PLC程序内存储可进行该程序的利用的“有效位置信息”,以从PLC200的GPS传感器取得的“现在位置信息”为基础,只有设置于可利用PLC程序的区域(场所)的PLC200能够执行该PLC程序。因此,在例如设置PLC200后,在PLC200主体被带出该地区的情况下等,在“有效位置信息”决定的指定位置以外不能执行PLC程序,因此,能够防止PLC程序的使用(可以称为不正当使用)。即,可以进一步提高在PLC200上工作的控制程序的安全性。
如上所述,根据本实施方式和应用例,能够提供一种考虑控制程序的运用、维护性,且从在PLC上工作的控制程序的安全性的观点出发,防止控制程序的不正当使用的控制***、控制装置和控制方法。
另外,本发明不限定于指定的实施方式,在记载于权利要求的范围的本发明的要旨的范围内,可以进行各种变形、变更。
Claims (12)
1.一种控制***,包含安全文件发行装置、安全码登录装置、辅助加载器和控制装置,其特征在于:
所述安全文件发行装置具有:
生成包含第一安全码的安全文件的安全文件生成单元,
所述安全码登录装置具有:
安全码转换单元,其将从所述安全文件取得的所述第一安全码通过规定的算法转换成第二安全码;和
安全信息登录单元,其将包含所述第二安全码的安全信息登录到所述控制装置,
所述辅助加载器具有:
生成包含所述第一安全码和规定的程序码的用户程序的程序生成单元,
所述控制装置具有:
第一存储器,其存储所述用户程序;
第二存储器,其存储包含由所述安全信息登录单元登录的所述第二安全码的安全信息;
执行准许单元,其准许存储于所述第一存储器的所述用户程序的执行;和
程序执行单元,其执行由所述执行准许单元准许执行的所述用户程序,
所述执行准许单元,在存储于所述第一存储器的所述用户程序包含所述规定的程序码时,通过所述规定的算法对所述用户程序中所含的第一安全码进行转换,对转换后的该安全码与从存储于所述第二存储器的安全信息取得的第二安全码进行比较,在相一致的情况下准许所述用户程序的执行。
2.如权利要求1所述的控制***,其特征在于:
所述安全信息登录单元在输入了试用期间信息时,将包含该试用期间信息和所述第二安全码的安全信息登录到所述控制装置,
在所述控制装置中,
在所述第二存储器存储有包含由所述安全信息登录单元登录的所述试用期间信息和所述第二安全码的安全信息,
所述执行准许单元在存储于所述第二存储器的安全信息中包含所述试用期间信息时,在试用期间中准许存储于所述第一存储器的用户程序的执行。
3.如权利要求2所述的控制***,其特征在于:
所述控制装置具有测量控制装置的动作时间的测量单元,
所述测量单元在包含所述试用期间信息的安全信息被存储到所述第二存储器中时,开始控制装置的动作时间的测量,
所述执行准许单元对所述动作时间与所述试用期间信息进行比较,在现在时刻的动作时间处于试用期间内的情况下,视为是试用期间中,准许存储于所述第一存储器的用户程序的执行。
4.如权利要求1~3中任一项所述的控制***,其特征在于:
所述辅助加载器的所述程序生成单元生成不仅包含所述第一安全码和所述规定的程序码、而且还包含规定的位置信息的用户程序,
所述控制装置具有取得控制装置的现在位置信息的位置信息取得单元,
所述执行准许单元在存储于所述第一存储器的所述用户程序中包含所述规定的位置信息时,在所述现在位置信息处于由该规定的位置信息确定的位置范围外的情况下,不准许存储于所述第一存储器的用户程序的执行。
5.一种控制装置,其特征在于,具有:
第一存储器,其存储包含第一安全码和规定的程序码的用户程序;
第二存储器,其存储包含第二安全码的安全信息,该第二安全码由安全码登录装置以规定的算法将所述第一安全码转换并登录;
执行准许单元,其准许存储于所述第一存储器的所述用户程序的执行;
程序执行单元,其执行由所述执行准许单元准许执行的所述用户程序,
所述执行准许单元,在存储于所述第一存储器的所述用户程序中包含所述规定的程序码时,通过所述规定的算法对所述用户程序包含的第一安全码进行转换,对转换后的该安全码与从存储于所述第二存储器的安全信息取得的第二安全码进行比较,在相一致的情况下,准许所述用户程序的执行。
6.如权利要求5所述的控制装置,其特征在于:
在与通常的程序存储区域不同的、进行了安全强化的区域,具有通过从辅助加载器输入的规定的程序码调出而判定用户程序执行的准许或不准许的功能模块,
所述功能模块在从所述辅助加载器输入有包含所述规定的程序码和第一安全码的用户程序时,基于所述第一安全码和从安全码登录装置输入的安全信息来判定所述用户程序执行的准许或不准许。
7.如权利要求5所述的控制装置,其特征在于:
在所述第二存储器存储有包含由所述安全码登录装置登录的试用期间信息和所述第二安全码的安全信息,
所述执行准许单元在存储于所述第二存储器的安全信息中包含所述试用期间信息时,在试用期间中,准许存储于所述第一存储器的用户程序的执行。
8.如权利要求7所述的控制装置,其特征在于:
具有测量控制装置的动作时间的测量单元,
所述测量单元在包含所述试用期间信息的安全信息被存储到所述第二存储器中时,开始控制装置的动作时间的测量,
所述执行准许单元对所述动作时间与所述试用期间信息进行比较,在现在时刻的动作时间处于试用期间内的情况下,视为是试用期间中,准许存储于所述第一存储器的用户程序的执行。
9.如权利要求5~7中任一项所述的控制装置,其特征在于:
具有取得控制装置的现在位置信息的位置信息取得单元,
在所述第一存储器中存储有不仅包含所述第一安全码和所述规定的程序码、而且还包含规定的位置信息的用户程序,
所述执行准许单元在存储于所述第一存储器的所述用户程序中包含所述规定的位置信息时,在所述现在位置信息处于由该规定的位置信息确定的位置范围外的情况下,不准许存储于所述第一存储器的用户程序的执行。
10.一种程序执行控制方法,其特征在于:
安全码登录装置生成包含第二安全码的安全信息并将该安全信息输入至控制装置,该第二安全码是将第一安全码通过规定的算法转换而成的,
辅助加载器生成用户程序并将该用户程序输入至所述控制装置,所述用户程序包含规定的程序码和所述第一安全码,
所述控制装置在所述用户程序中包含所述规定的程序码时,对从所述辅助加载器输入的所述第一安全码通过所述规定的算法进行转换,以转换后的该安全码和所述第二安全码相一致为条件,准许所述用户程序的执行。
11.如权利要求10所述的程序执行控制方法,其特征在于:
所述安全码登录装置对输入至所述控制装置的所述安全信息附加试用期间信息,
所述控制装置在试用期间中,准许所述用户程序的执行。
12.如权利要求10或11所述的程序执行控制方法,其特征在于:
所述辅助加载器对输入至所述控制装置的所述用户程序附加准许该用户程序的执行的有效位置信息,
所述控制装置在现在位置信息处于由所述有效位置信息确定的位置范围外时,不准许所述用户程序的执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012033368A JP5990927B2 (ja) | 2012-02-17 | 2012-02-17 | 制御システム、制御装置及びプログラム実行制御方法 |
JP2012-033368 | 2012-02-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103258148A CN103258148A (zh) | 2013-08-21 |
CN103258148B true CN103258148B (zh) | 2016-02-24 |
Family
ID=48962060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210144756.4A Active CN103258148B (zh) | 2012-02-17 | 2012-05-10 | 控制***、控制装置和程序执行控制方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5990927B2 (zh) |
CN (1) | CN103258148B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015200971A (ja) * | 2014-04-04 | 2015-11-12 | 富士電機株式会社 | 改竄検知機能を備えた制御システム |
JP6383240B2 (ja) * | 2014-10-17 | 2018-08-29 | 株式会社東芝 | 制御プログラム保守装置、及び制御プログラム保守方法 |
RU2638000C1 (ru) * | 2017-02-08 | 2017-12-08 | Акционерное общество "Лаборатория Касперского" | Способ контроля системы исполнения программируемого логического контроллера |
JP2019159752A (ja) * | 2018-03-13 | 2019-09-19 | オムロン株式会社 | コントローラ、ライセンスの管理方法、およびライセンスの管理プログラム |
CN112639773A (zh) * | 2018-08-30 | 2021-04-09 | 三菱电机株式会社 | 控制装置、控制方法及程序 |
CN110632869A (zh) * | 2019-08-16 | 2019-12-31 | 广东鑫光智能***有限公司 | 多功能控制器应用*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533438A (zh) * | 2008-05-24 | 2009-09-16 | 威盛电子股份有限公司 | 提供安全执行环境的微处理器及其执行安全编码的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3630451B2 (ja) * | 1994-09-20 | 2005-03-16 | 富士通株式会社 | ソフトウェア利用制御装置 |
EP0792044B1 (en) * | 1996-02-23 | 2001-05-02 | Fuji Xerox Co., Ltd. | Device and method for authenticating user's access rights to resources according to the Challenge-Response principle |
JP2001282526A (ja) * | 2000-03-31 | 2001-10-12 | Canon Inc | ソフトウェア管理装置、方法、及びコンピュータ読み取り可能な記憶媒体 |
US7974416B2 (en) * | 2002-11-27 | 2011-07-05 | Intel Corporation | Providing a secure execution mode in a pre-boot environment |
WO2005029241A2 (en) * | 2003-09-15 | 2005-03-31 | Plum Thomas S | Automated safe secure techniques for eliminating |
JP2005346662A (ja) * | 2004-06-07 | 2005-12-15 | Seiko Epson Corp | 情報機器、情報機器の制御方法およびプログラム |
JP4406794B2 (ja) * | 2006-03-24 | 2010-02-03 | 京セラミタ株式会社 | 画像形成装置 |
-
2012
- 2012-02-17 JP JP2012033368A patent/JP5990927B2/ja active Active
- 2012-05-10 CN CN201210144756.4A patent/CN103258148B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533438A (zh) * | 2008-05-24 | 2009-09-16 | 威盛电子股份有限公司 | 提供安全执行环境的微处理器及其执行安全编码的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5990927B2 (ja) | 2016-09-14 |
CN103258148A (zh) | 2013-08-21 |
JP2013171346A (ja) | 2013-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103258148B (zh) | 控制***、控制装置和程序执行控制方法 | |
CN103425909B (zh) | 控制***、控制装置及程序执行控制方法 | |
CN104679553B (zh) | 用于嵌入式固件的安全分发的方法和装置 | |
CN101232203B (zh) | 用于智能电子装置中基于角色的访问的装置、方法和*** | |
TWI421786B (zh) | 用於工業自動化之可伸縮及彈性資訊安全 | |
CN101484901B (zh) | 用于控制生产过程的***和方法 | |
CN203982565U (zh) | 射频装置 | |
EP2702526B1 (en) | Method and apparatus for securing programming data of a programmable device | |
CN102156840B (zh) | 控制装置以及管理装置 | |
US8707423B2 (en) | Programmable display device, and control system | |
US20130010965A1 (en) | Method and device for providing at least one secure cryptographic key | |
CN103946856A (zh) | 加解密处理方法、装置和设备 | |
US7716477B2 (en) | Data processing method, program of the same, and device of the same | |
CN107948170A (zh) | 接口请求参数加密方法、装置、设备及可读存储介质 | |
CN101416129A (zh) | 现场设备 | |
CN104428782A (zh) | 可编程逻辑控制器 | |
CN102202057B (zh) | 一种移动存储器安全转储数据***及其方法 | |
CN103426238B (zh) | 一种基于插件的一卡通通用发卡***及方法 | |
CN102763046A (zh) | 可编程控制器以及程序设计装置 | |
US20210160063A1 (en) | Cryptographic management of lifecycle states | |
CN101206469A (zh) | 用于设定数值控制装置的软件选项的***及设定方法 | |
EP3038394A1 (en) | Method of restoring a secure element to a factory state | |
CN115080075A (zh) | 一种嵌入式硬件安全模块的固件部署***及方法 | |
JP2017004293A (ja) | セキュリティ制御装置、電子機器、セキュリティ制御方法及びセキュリティ制御プログラム | |
CN114766085A (zh) | 在第一和第二自动化工程现场设备之间传输安全设置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |