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

控制系统、保密装置以及方法与流程

2021-10-19 21:45:00 来源:中国专利 TAG:控制系统 装置 保密 公开 方法


1.本公开涉及一种控制系统、保密装置以及方法。


背景技术:

2.提供有一种将工厂自动化(factory automation,fa)的控制装置连接于国际互联网或云终端的环境。在此环境下,关于将控制装置连接于工厂外的终端或网络的情况,实施包含对各种事件(incident)的应对的保密策略,所述各种事件包含技术秘诀(know

how)流出。
3.而且,在工厂中,通过出入管理来仅允许经认证者出入,由此来采取对包含控制装置的程序的各种数据的非法复制、或非法带出等事件的应对。关于此点,专利文献1(日本专利特开平6

110512号公报)中,为了防止序列程序的非法复制,在可编程控制器中,包括:加密部件,对序列程序(sequence program)进行加密并保存到只读存储器(read only memory,rom)中;解密部件,对保存在rom中的信息进行解密而由处理器来执行;以及密钥设定部件,设定加密及解密时的加密密钥及解密密钥。
4.现有技术文献
5.专利文献
6.专利文献1:日本专利特开平6

110512号公报


技术实现要素:

7.发明所要解决的问题
8.专利文献1中,与序列程序同样,密钥也被保存在可编程控制器中,因此一旦密钥被盗,则可简单地进行解密以及复制。
9.本公开的目的在于提供一种控制系统、保密装置以及方法,能够防止被保存在控制装置中的与控制相关的程序的非法复制。
10.解决问题的技术手段
11.本公开的控制系统包括:控制装置,执行与控制对象的控制相关的程序;以及保密装置,能够与控制装置进行通信,保密装置包含:密钥保存部,保存密钥;以及解密部,利用密钥来对经加密的程序进行解密,在执行程序时,实施解密而将经解密的程序转发至控制装置。控制装置包含易失性存储部,所述易失性存储部存储从保密装置转发的经解密的程序。
12.根据所述公开,在控制装置所包括的非易失性存储部中保存经解密的程序时,被限定在由控制装置执行控制程序时,因此能够防止第三者对控制装置的经解密的程序的非法复制。
13.而且,用于解密的密钥被保存在与控制装置不同的保密装置中,因此第三者要取得密钥,必须获取与控制装置不同的保密装置,能够防止密钥被非法复制,使得使用密钥的所述经解密的程序的非法复制变得更加困难。
14.本公开的保密装置能够与控制装置进行通信,所述控制装置执行与控制对象的控制相关的程序,其中,控制装置包含易失性存储部,所述易失性存储部存储从保密装置转发的程序。保密装置包含:密钥保存部,保存密钥;以及解密部,利用密钥来对经加密的程序进行解密,在执行程序时,实施解密而将经解密的程序转发至控制装置。
15.根据所述公开,在控制装置所包括的非易失性存储部中保存经解密的程序时,被限定在由控制装置执行控制程序时,因此能够防止第三者对控制装置的经解密的程序的非法复制。
16.而且,用于解密的密钥被保存在与控制装置不同的保密装置中,因此第三者要取得密钥,必须获取与控制装置不同的保密装置,能够防止密钥被非法复制,使得使用密钥的所述经解密的程序的非法复制变得更加困难。
17.所述的公开中,密钥保存部具有禁止与保密装置不同的装置进行读出的读出禁止区域,密钥被保存在读出禁止区域中。
18.根据所述公开,密钥被保存在读出禁止区域,因此能够防止密钥被非法取得,并利用非法取得的密钥来获取经解密的程序。
19.所述的公开中,经加密的程序被保存在保密装置或控制装置所包括的非易失性存储部中。
20.根据所述公开,用于生成经解密的程序的经加密的程序能够预先保存到保密装置或控制装置所包括的非易失性存储部中,因此能够将非易失性存储部的经加密的程序予以解密后,恢复(restore)到非易失性存储部中。
21.所述的公开中,保密装置或控制装置能够与外部的信息处理装置进行通信,信息处理装置将经加密的程序转发至保密装置或控制装置。
22.根据所述公开,保密装置或控制装置能够从外部的信息处理装置获取经加密的程序。
23.所述的公开中,保密装置能够与外部的信息处理装置进行通信,保密装置包含:加密部,生成经加密的程序;以及第一解密部,对从信息处理装置转发及利用规定的密钥经加密的程序进行解密,加密部在通过第一解密部对利用规定的密钥经加密的程序进行了解密后,再利用密钥保存部的密钥进行加密,由此来生成经加密的程序。
24.根据所述公开,保密装置能够从利用自信息处理装置转发的规定的密钥经加密的程序,获取经加密程序。此时,从信息处理装置转发的程序并非明文而是利用规定的密钥经加密,因此能够防止转发中途的明文程序的非法复制。
25.所述的公开中,保密装置在通过第一解密部对利用规定的密钥经加密的程序进行了解密后,保持至利用加密部的加密完成为止。
26.根据所述公开,保密装置将经解密的程序保持至加密部完成加密为止,因此在无法完成时,能够使用所保持的经解密的程序来重试(retry)加密。
27.所述的公开中,保密装置进一步将由加密部所生成的经加密的程序保存至自身装置的非易失性存储部或者转发至控制装置。
28.根据所述公开,保密装置能够在自身装置或控制装置中确保用于生成经解密的程序的经加密程序的取得途径。
29.所述的公开中,密钥保存部的密钥包含私钥或公钥。因此,能够使用于解密的密钥
多样化。
30.本公开中,提供一种方法,对与控制相关的程序的保密进行设定,所述与控制相关的程序是由控制对象的控制装置来执行。控制装置能够与保密装置进行通信。方法包括下述步骤:在执行程序时,保密装置利用所述保密装置所保持的密钥对经加密的程序进行了解密后,转发至控制装置;以及控制装置将从保密装置转发的进行了解密的程序保存至所述控制装置所包括的易失性存储部。
31.根据所述公开,在控制装置所包括的非易失性存储部中保存经解密的程序时,被限定在由控制装置执行控制程序时,因此能够防止第三者对控制装置的经解密的程序的非法复制。
32.而且,用于解密的密钥被保存在与控制装置不同的保密装置中,因此第三者要取得密钥,必须获取与控制装置不同的保密装置,能够防止密钥被非法复制,从而能够防止使用密钥的所述经解密的程序的非法复制。
33.发明的效果
34.根据本公开,能够防止被保存在控制装置中的与控制相关的程序的非法复制。
附图说明
35.图1是示意性地表示包括本实施方式的控制系统1的网络环境1000的整体结构的图说明。
36.图2是表示本实施方式的控制系统1的结构例的外观图。
37.图3是表示构成本实施方式的控制系统1的控制单元100的硬件结构例的示意图。
38.图4是表示构成本实施方式的控制系统1的保密单元200的硬件结构例的示意图。
39.图5是表示可连接于本实施方式的控制系统1的支持装置500的硬件结构例的示意图。
40.图6是与支持装置500相关联地表示本实施方式的控制系统1所负责的功能的一部分的图。
41.图7是示意性地表示本实施方式的包含解密处理的处理的流程图的一例的图。
42.图8是示意性地表示图7的处理中的装置间的数据的流动的图。
43.图9是示意性地表示本实施方式的包含解密处理的处理的流程图的另一例的图。
44.图10是示意性地表示图9的处理中的装置间的数据的流动的图。
45.图11是示意性地表示本实施方式的包含解密处理的处理的流程图的又一例的图。
46.图12是示意性地表示图11的处理中的装置间的数据的流动的图。
47.图13是示意性地表示本实施方式的与支持装置500独立的控制系统1的结构的图。
48.图14是表示本实施方式的控制系统1的启动处理的流程图的一例的图。
具体实施方式
49.对于实施方式,一边参照附图一边详细说明。对于图中的相同或相当的部分,标注相同的符号并不再重复其说明。
50.<a.适用例>
51.首先,说明适用本发明的场景的一例。图6是与支持装置500相关联地表示本实施
方式的控制系统1所负责的功能的一部分的图。图6中,所述功能表示下述功能,即,设定与控制程序相关的保密,以使得能够防止与对象的控制相关的控制程序的非法复制。
52.参照图6,控制系统1包含作为“控制装置”的一实施例的控制单元100以及作为“保密装置”的一实施例的保密单元200。保密单元200经由内部总线(例如周边装置互连高速(peripheral component interconnect express,pci express)总线等)而连接于控制单元100。保密单元200也可并非经由内部总线而连接于控制单元100的“装置”的形态,而是作为利用某些部件装卸自如地连接于控制单元100及可外置的其他单元而安装。
53.控制单元100例如包含可编程逻辑控制器(programmable logic controller,plc)。控制单元100执行与控制对象的控制相关的程序(以下称作控制程序)。控制程序包含与作为控制对象的设备及装置和配置在它们中的各种设备(传感器或致动器等)之间交换信号的输入输出(input output,io)刷新、控制运算处理等的程序。具体而言,在io刷新中,将在控制单元100中算出的指令值输出至控制对象、或者收集来自控制对象的输入值。在控制运算处理中,例如算出基于通过io刷新而收集的输入值的指令值、控制量。具备此种功能的控制程序也是包含用户或开发公司根据控制对象的要求规格而制作的程序的“用户程序”的一例。
54.保密单元200设定控制系统1的保密,更特定而言,设定控制单元100的保密。所述保密的设定包含用于防止控制程序的意料外的复制即非法复制的设定。
55.控制系统1也可还包括用户可操作的支持装置500。支持装置500相当于外部的“信息处理装置”的一实施例,提供支持用户运用控制系统1的支持工具。支持装置500通过通用串行总线(universal serial bus)而可装卸地连接于控制单元100或保密单元200。对于所述usb通信,为了确保通信的保密,可采用用于进行用户认证的通信协议。
56.支持装置500包括存储部,所述存储部保存作为明文的控制程序90、为了控制程序90的加密或解密而使用的密钥93、利用密钥93对控制程序90进行了加密的经加密的控制程序91。本实施方式中,假设密钥93是作为加密以及解密的公钥而提供。本实施方式中,密钥93的形态并不限定于此,例如也能够适用利用公钥来实施加密并利用私钥来实施解密的形态。
57.保密单元200接收从支持装置500转发的密钥93,并保存到保密单元200所包括的保密芯片205的存储器207(后述)中。保密芯片205可使用专用的硬件电路(例如专用集成电路(application specific integrated circuit,asic)或现场可编程门阵列(field programmable gate array,fpga)等)来安装。保密芯片205是被直接安装在保密单元200的基板上的芯片,是在禁止与保密单元200不同的装置进行读出的存储区域即无法从外部装置读取的存储区域中保存密钥93的“密钥保存部”的一实施例。
58.当控制单元100启动而执行控制程序时,保密单元200利用密钥93来对保存在控制单元100或保密单元200中的经加密的控制程序91进行解密(处理(2)),由此来生成经解密的控制程序94,并将所生成的经解密的控制程序94转发至控制单元100。控制单元100将从保密单元200转发的经解密的控制程序94保存至作为“易失性存储部”的一实施例的易失性存储区域130中(保存(3))。控制单元100执行易失性存储区域130内的经解密的控制程序94(程序执行(4))。
59.这样,保密单元200利用密钥93来对明文的控制程序90经加密而成的经加密的控
system,mes)等。制造执行系统获取来自作为控制对象的制造装置或设备的信息,以对整个生产进行监测以及管理,也能够对订单(order)信息、品质信息、出货信息等进行处理。并不限于这些,也可将提供信息系统服务(从控制对象获取各种信息,以进行宏观或微观的分析等的处理)的装置连接于网络10。
72.本实施方式中,为了使显示装置800以及服务器装置600实施上文所述的各种服务处理,控制单元100执行后述的服务程序97。
73.网关(gateway)700执行网络10与外部网络(国际互联网)之间的协议转换以及作为防火墙(fire wall)的处理。
74.<c.控制系统1的外观>
75.图2是表示本实施方式的控制系统1的结构例的外观图。参照图2,控制系统1包含控制单元100、安全单元200、安全单元300、一个或多个功能单元400以及电源单元450。
76.控制单元100与安全单元200之间经由所述的pci express的总线等而连接,并且控制单元100与安全单元300以及一个或多个功能单元400之间经由内部总线而连接。
77.安全单元300是与控制单元100独立地执行用于实现与控制对象相关的安全功能的控制运算。功能单元400提供用于实现控制系统1对各种控制对象的控制的各种功能。典型的是,功能单元400可包含i/o单元、安全i/o单元、通信单元、运动控制器单元、温度调整单元、脉冲计数器单元等。作为i/o单元,例如可列举数字输入(digital input,di)单元、数字输出(digital output,do)单元、模拟输出(analog input,ai)单元、模拟输出(analog output,ao)单元、脉冲捕捉输入单元以及使多个种类混合而成的复合单元等。安全i/o单元负责与安全控制相关的i/o处理。
78.电源单元450对于构成控制系统1的各单元供给规定电压的电源。
79.<d.各单元的硬件结构例>
80.接下来,对构成本实施方式的控制系统1的各单元的硬件结构例进行说明。
81.(d1.控制单元100)
82.图3是表示构成本实施方式的控制系统1的控制单元100的硬件结构例的示意图。参照图3,控制单元100包含中央处理器(central processing unit,cpu)或图形处理器(graphical processing unit,gpu)等处理器102、芯片组104、主存储装置106、二次存储装置108、通信控制器111、通用串行总线(universal serial bus,usb)控制器112、存储卡接口114、网络控制器116、网络控制器118、网络控制器120、内部总线控制器122、指示器124以及开关接口125,以作为主要的组件。
83.处理器102读出保存在二次存储装置108中的各种程序,并在主存储装置106中展开而执行,由此来实现包含控制运算以及服务处理的各种处理。芯片组104对处理器102与各组件之间的数据交换进行中介,由此来实现作为控制单元100整体的处理。
84.主存储装置106包括动态随机存取存储器(dynamic random access memory,dram)或静态随机存取存储器(static random access memory,sram)等易失性存储装置。这些易失性存储装置的至少一部分构成用于保存经解密的控制程序94的易失性存储区域130。
85.二次存储装置108典型的是包括例如硬盘驱动器(hard disk drive,hdd)或固态硬盘(solid state drive,ssd)、只读存储器(read only memory,rom)、可擦可编程只读存
储器(erasable programmable read only memory,eprom)、电可擦可编程只读存储器(electrically erasable programmable read only memory,eeprom)等非易失性存储装置。这些非易失性存储装置的至少一部分构成用于保存经加密的控制程序91的非易失性存储区域131。
86.在二次存储装置108中,还保存有包含操作系统(operating system,os)的系统程序95、以及服务程序97等用户程序。系统程序95提供用于使经解密的控制程序94以及服务程序97等用户程序运行的程序执行环境。
87.通信控制器111负责与保密单元200之间的数据交换。作为通信控制器111,例如可采用与pci express等总线211对应的通信芯片。
88.usb控制器112负责经由usb连接,与包含支持装置500的任意信息处理装置之间的数据交换。
89.存储卡接口114是可装卸存储卡115地构成,能够对存储卡115写入用户程序或各种设定等的数据,或者从存储卡115读出所述程序或各种设定等的数据。
90.网络控制器116、118、120各自负责经由网络,与任意设备之间的数据交换。网络控制器116、118、120也可采用ethercat(注册商标)、ethernet/ip(注册商标)、devicenet(注册商标)、componet(注册商标)等工业网络协议。
91.内部总线控制器122负责与构成控制系统1的安全单元300或一个或多个功能单元400之间,经由内部总线的数据交换。对于所述内部总线,既可使用制造商固有的通信协议,也可使用与任一工业网络协议相同或者遵循任一工业网络协议的通信协议。
92.指示器124通知控制单元100的运行状态等,包含配置在单元表面的一个或多个发光二极管(light emitting diode,led)等。
93.图3表示了通过处理器102执行程序来提供所需的功能的结构例,但这些提供的功能的一部分或全部也可使用专用的硬件电路(例如专用集成电路(application specific integrated circuit,asic)或现场可编程门阵列(field programmable gate array,fpga)等)而实现。或者,控制单元100的主要部分也可使用遵循通用架构的硬件(例如将通用个人计算机作为基础的工业个人计算机)来实现。此时,也可使用虚拟技术来并列地执行用途不同的多个os,并且在各os上执行所需的应用。
94.(d2.保密单元200)
95.图4是表示构成本实施方式的控制系统1的保密单元200的硬件结构例的示意图。参照图4,保密单元200包括cpu或gpu等处理器202、芯片组204、包含易失性存储区域的主存储装置206、包含非易失性存储区域234的二次存储装置208、通信控制器210、usb控制器212、存储卡接口214、网络控制器216、网络控制器218以及指示器224,以作为主要的组件。主存储装置206以及二次存储装置208分别能够与控制单元100的主存储装置106以及二次存储装置108同样地构成,因此,此处不再重复说明。
96.处理器202读出保存在二次存储装置208中的各种程序,并在主存储装置206中展开而执行,由此来实现各种功能。芯片组204通过对处理器202与各组件之间的数据交换进行中介,从而实现作为保密单元200整体的处理。芯片组204是包括安装在基板上的各种芯片而构成,所安装的芯片的一个对应于保存密钥93的保密芯片205。
97.在二次存储装置208中,除了包含os的系统程序233以外,还保存有在系统程序233
所提供的执行环境上运行的各种处理程序。各种处理程序包含:对经简易加密的控制程序92进行解密的简易解密处理程序230、利用简易解密处理程序230将经简易加密的控制程序92予以解密后利用密钥93进行加密的加密处理程序231、以及对经加密的控制程序进行解密的解密处理程序232。
98.通信控制器210负责与控制单元100之间的数据交换。作为通信控制器210,与控制单元100中的通信控制器210同样,例如可采用与适用于总线211的pci express等对应的通信芯片。
99.usb控制器212负责经由usb连接,与包含支持装置500的任意信息处理装置之间的数据交换。
100.存储卡接口214是可装卸保密数字(secure digital,sd)卡等存储卡215地构成,能够对存储卡215写入程序或各种设定等的数据,或者从存储卡215读出程序或各种设定等的数据。
101.网络控制器216、218各自负责经由网络,与任意设备之间的数据交换。网络控制器216、218也可采用以太网等通用的网络协议。
102.指示器224通知保密单元200的运行状态等,包含配置在单元表面的一个或多个led等。
103.图4中表示了通过处理器202执行程序而提供必要功能的结构例,但这些提供的功能的一部分或全部也可使用专用的硬件电路(例如asic或fpga等)来实现。或者,保密单元200的主要部分也可使用遵循通用架构的硬件(例如将通用个人计算机作为基础的工业个人计算机)来实现。此时,也可使用虚拟技术来并列地执行用途不同的多个os,并且在各os上执行所需的应用。
104.<e.支持装置500的硬件结构例>
105.接下来,对可连接于本实施方式的控制系统1的支持装置500的硬件结构例进行说明。
106.图5是表示可连接于本实施方式的控制系统1的支持装置500的硬件结构例的示意图。作为一例,支持装置500是使用遵循通用架构的硬件(例如通用的个人计算机)而实现。
107.参照图5,支持装置500包含cpu或gpu等处理器502、主存储装置504、输入部506、输出部508、二次存储装置510、光学驱动器512以及通信接口520。这些组件经由处理器总线518而连接。主存储装置504以及二次存储装置510能够分别与控制单元100的主存储装置106以及二次存储装置108同样地构成,因此,此处不再重复说明。
108.处理器502读出保存在二次存储装置510中的程序(作为一例,为os5102以及支持程序5104),并在主存储装置504中展开而执行,由此来实现各种处理。
109.在二次存储装置510中,除了用于实现基本功能的os5102以外,还保存有用于提供作为支持装置500的功能的支持程序5104。支持程序5104是通过由作为计算机的信息处理装置(实质上为处理器502)来执行,从而实现本实施方式的支持装置500对支持工具的提供。支持工具提供支持装置500中的程序的开发环境。
110.在二次存储装置510中,保存有在程序的开发环境下由用户或开发公司依据控制对象的要求规格所制作的控制程序90、以及经加密的控制程序91。进而,在二次存储装置510中,保存有密钥93以及加密处理程序5105。而且,在二次存储装置510中,也可保存简易
加密处理程序5106。在执行简易加密处理程序5106的情况下,二次存储装置510可保存通过所述执行而生成的经简易加密的控制程序92。本实施方式中,在二次存储装置510中,保存加密处理程序5105以及简易加密处理程序5106中的至少一者。
111.输入部506包含键盘或鼠标等,受理用户操作。输出部508包含显示器、各种指示器、打印机等,输出来自处理器502的处理结果等。
112.通信接口520经由usb或以太网等任意的通信介质,来交换与控制系统1所包括的控制单元100或保密单元200之间的数据。
113.支持装置500具有光学驱动器512。通过光学驱动器512,从记录介质514中读取被保存在记录介质514(例如数字多功能光盘(digital versatile disc,dvd)等光学记录介质)中的程序而安装至二次存储装置510等。
114.由支持装置500所执行的支持程序5104等也可经由计算机可读取的记录介质514来安装,但也可以从网络上的服务器装置等下载的形式来安装。而且,本实施方式的支持装置500所提供的功能也有时以利用os所提供的模块的一部分的形式来实现。
115.图5中表示了通过处理器502执行程序而提供作为支持装置500所需的功能的结构例,但这些提供的功能的一部分或全部也可使用专用的硬件电路(例如asic或fpga等)来实现。
116.本实施方式中,在控制系统1的运转过程中,支持装置500也可从控制系统1予以拆卸。
117.支持装置500中,在执行加密处理程序5105的情况下,在加密处理中,将控制程序90以密钥93予以加密后(即,所生成的经加密的控制程序91)保存至二次存储装置510。而且,在执行简易加密处理程序5106的情况下,在简易加密处理中,控制程序90以简易加密用的规定密钥予以加密后(即经简易加密的控制程序92)保存至二次存储装置510。
118.再次参照图6,支持装置500将二次存储装置510的经加密的控制程序91、经简易加密的控制程序92以及密钥93经由通信接口520而转发至控制系统1所包括的控制单元100或保密单元200。此时,通信接口520与保密单元200之间实施用户认证,若认证成功,则允许密钥93、经加密的控制程序91以及经简易加密的控制程序92的转发。因此,密钥93、经加密的控制程序91以及经简易加密的控制程序92仅被转发至所意图的合法的保密单元200或控制单元100,而防止被转发至未意图的第三者的终端。
119.<f.解密处理>
120.对在保密引导模式中实施的解密处理进行说明。作为处理例,对于在解密处理(图6的处理(2))中,保密单元200对保存在控制单元100中的经加密的控制程序91进行解密的案例与对保存在保密单元200中的经加密的控制程序91进行解密的案例进行说明。
121.(f1.控制单元100的经加密的控制程序91的解密处理的一例)
122.图7是示意性地表示本实施方式的包含解密处理的处理的流程图的一例的图。图8是示意性地表示图7的处理中的装置间的数据的流动的图。为了进行说明,对于图8的各部分配了图7的处理步骤t1~t27中的关联的处理的符号。参照图7和图8来说明下述案例,即,保密单元200对从支持装置500转发至控制单元100的经加密的控制程序91进行解密,并将经解密的控制程序94转发至控制单元100。
123.参照图7和图8,支持装置500通过加密处理程序5105,以密钥93将明文的控制程序
90予以加密后,转发至控制单元100(步骤t1、t5)。具体而言,支持装置500通过加密处理程序5105而以密钥93将明文的控制程序90予以加密,由此来生成经加密的控制程序91,并经由通信接口520而转发至控制单元100。而且,支持装置500将二次存储装置510的密钥93转发至保密单元200(步骤t3)。在所述转发时,支持装置500通过通信接口520来与对象装置(保密单元200、控制单元100)之间实施用户认证,当认证成功时,实施密钥93的转发以及经加密的控制程序91的转发。
124.保密单元200接收来自支持装置500的密钥93(步骤t11),并将所接收的密钥93保存至保密芯片205(t13)。而且,控制单元100从支持装置500接收经加密的控制程序91(步骤t21),并将所接收的经加密的控制程序91保存至非易失性存储区域131(步骤t23)。接下来,实施后述的解密处理(步骤s11)。
125.(f1

1.解密处理)
126.保密单元200包括图8的解密部23,所述解密部23相当于通过执行解密处理程序232而实现的模块。在解密处理中,控制单元100例如根据来自保密单元200的请求,将非易失性存储区域131的经加密的控制程序91转发至保密单元200(步骤t24)。保密单元200的解密部23利用保密芯片205的密钥93将从控制单元100接收的经加密的控制程序91予以解密后,转发至控制单元100(步骤t19)。即,解密部23利用密钥93来对经加密的控制程序91进行解密,由此生成经解密的控制程序94(步骤t17),并将经解密的控制程序94转发至控制单元100(步骤t19)。
127.控制单元100接收从保密单元200转发的经解密的控制程序94,并将所接收的经解密的控制程序94保存至易失性存储区域130(步骤t25、步骤t27)。由此,解密处理(步骤s11)结束。
128.图8中,以虚线箭头表示了上文所述的解密处理中的保密单元200与控制单元100间的经加密的控制程序91以及经解密的控制程序94的转发。所述转发可经由控制系统1中的连接保密单元200与控制单元100间的pci express等内部总线来实施,因此能够避免转发中途的经解密的控制程序94被暴露于外部的风险。
129.而且,例如在控制系统1中采用保密单元200被装卸自如地外置于控制单元100的装置结构的情况下,也能够防止第三者对经解密的控制程序94的非法复制。例如,在断开电源并从保密单元200拆卸控制单元100的情况下,密钥93仍保留在保密单元200中,因此第三者无法对所拆卸的控制单元100的经加密的控制程序91进行解密。而且,也无法从外部装置读出保存在保密芯片205中的密钥93。由此,根据图7以及图8的结构,能够防止第三者对经解密的控制程序94的非法复制。
130.(f2.控制单元100的经加密的控制程序91的解密处理的另一例)
131.图9是示意性地表示本实施方式的包含解密处理的处理的流程图的另一例的图。图10是示意性地表示图9的处理中的装置间的数据的流动的图。为了进行说明,对于图10的各部分配了图9的处理步骤t1a~t27中的关联的处理的符号。参照图9与图10来说明下述案例,即,从由保密单元200生成并转发至控制单元100的经加密的控制程序91,通过解密处理而生成经解密的控制程序94。
132.保密单元200包括解密部23、相当于通过执行简易解密处理程序230而实现的模块的简易解密部22、以及相当于通过执行加密处理程序231而实现的模块的加密部21。简易解
密部22为“第一解密部”的一实施例。
133.支持装置500通过简易加密处理程序5106,将明文的控制程序90以规定的简易加密用密钥予以加密后,转发至保密单元200(步骤t1a、步骤t5a)。即,支持装置500通过简易加密处理程序5106,将明文的控制程序90以规定的简易加密用密钥予以加密,由此来生成经简易加密的控制程序92(步骤t1a),并经由通信接口520将经简易加密的控制程序92转发至保密单元200(步骤t5a)。在所述转发时,支持装置500通过通信接口520而与对象装置(保密单元200)之间实施用户认证,当认证成功时,实施经简易加密的控制程序92的转发。本实施方式中,规定的简易加密用密钥是在支持装置500与保密单元200之间经由用户认证而相互交换。
134.而且,保密单元200接收从专用工具250转发的密钥93,并保存到保密芯片205中(步骤t3a、t11、t13)。本实施方式中,专用工具250是由合法的用户或程序开发公司所保持的工具,是为了在保密单元200的出货等时将密钥93保存到保密芯片205中而利用。
135.保密单元200基于从支持装置500接收的经简易加密的控制程序92,使用密钥93来实施加密处理,由此而生成经加密的控制程序91(步骤t14a~t14d)。
136.具体而言,保密单元200从支持装置500接收经简易加密的控制程序92(步骤t14a),简易解密部22将所接收的经简易加密的控制程序92以规定的简易加密用密钥予以解密,由此而生成经解密的控制程序即明文的控制程序90,并暂时保存所生成的控制程序90(步骤t14b、t14c)。加密部21将所生成的控制程序90以密钥93进行加密,由此生成经加密的控制程序91(步骤t14d)。
137.随后,保密单元200删除暂时保存的明文的控制程序90(步骤t15),并且将经加密的控制程序91转发至控制单元100(步骤t16)。控制单元100接收来自保密单元200的经加密的控制程序91,并保存到非易失性存储区域131中(步骤t21、t23)。这样,经解密并暂时保存的控制程序90被至少保持至加密部21的加密完成为止,因此能够在保存有控制程序90的期间重试加密。而且,暂时保存的明文的控制程序90的删除也可在经加密的控制程序91向控制单元100的转发完成后实施。
138.随后,在保密单元200与控制单元100中,实施经加密的控制程序91的解密处理(步骤t17、t19、t24~t27)。所述解密处理与在图7和图8中说明的处理同样,因此不再重复说明。
139.这样,即便是在图9和图10中说明的案例,也能够与图7和图8同样,保护经解密的控制程序94不被第三者非法复制。
140.(f3.对保密单元200的经加密的控制程序91进行解密处理)
141.图11是示意性地表示本实施方式的包含解密处理的处理的流程图的又一例的图。图12是示意性地表示图11的处理中的装置间的数据的流动的图。为了进行说明,对于图12的各部分配了图11的处理步骤t1a~t27中的关联的处理的符号。图7~图10中,对于保存在控制单元100的非易失性存储区域131中的经加密的控制程序91实施解密处理,与此相对,图11和图12中,对于保存在保密单元200的非易失性存储区域234中的经加密的控制程序91实施解密处理。
142.对于图11和图12的处理,主要对与图9和图10的处理的不同之处进行说明。支持装置500生成经简易加密的控制程序92,并转发至保密单元200(步骤t1a、t5a)。在保密单元
200的保密芯片205中,通过专用工具250来保存密钥93(步骤t3a、t11、t13)。
143.而且,在保密单元200中,简易解密部22以及加密部21对来自支持装置500的经简易加密的控制程序92进行处理,由此生成经加密的控制程序91(步骤t14a~t14d)。保密单元200将经加密的控制程序91保存到非易失性存储区域234中(步骤t14e)。
144.随后,保密单元200与控制单元100实施非易失性存储区域234的经加密的控制程序91的解密处理(步骤t17、t19、t25、t27)。
145.图12中,加密部21所生成的经加密的控制程序91也可进一步保存到控制单元100的非易失性存储区域131中。由此,能够将解密部23取得经加密的控制程序91的途径设为保密单元200的非易失性存储区域234的途径或控制单元100中的非易失性存储区域131的途径,从而能够使取得途径多样化。
146.图11和图12中,控制单元100未在非易失性存储区域131中保持经加密的控制程序91,因此盗取了控制单元100的第三者即便能够获取密钥93,也无法生成经解密的控制程序94。而且,即便是图11和图12中说明的案例,也能够与图7和图8同样,保护经解密的控制程序94不被第三者非法复制。
147.(f3

1.恢复)
148.本实施方式中,将支持装置500所保持的图8的经加密的控制程序91、或保密单元200保持在图12的非易失性存储区域234中的经加密的控制程序91再次保存(恢复)到控制单元100的非易失性存储区域131中,由此,能够利用所保存的经加密的控制程序91来作为备份用程序。
149.而且,控制系统1也可如图8所示,具备将以经混淆的状态保存在sd卡等存储卡215中的密钥93(图8中以“经混淆的密钥”来表示)保存至保密芯片205的途径。所述存储卡215是由合法的用户或程序开发公司所持有。
150.<f4.与支持装置500独立的控制系统1的结构>
151.图13是示意性地表示本实施方式的与支持装置500独立的控制系统1的结构的图。图13中,表示保密单元200对保存在控制单元100中的经加密的控制程序91进行解密的案例的变形例。
152.不同于图8和图9的案例,图13的控制单元100的经加密的控制程序91是由保密单元200从sd卡等存储卡215读出的明文的控制程序90,使用密钥93和加密处理程序231而生成。图13的存储卡215是由合法的用户或程序开发公司所保持。由此,图13的控制系统1中,即便是未连接支持装置500的环境,也能够在控制单元100中恢复经加密的控制程序91。
153.图13中,加密部21所生成的经加密的控制程序91也可进一步保存到保密单元200的非易失性存储区域234中。由此,能够将解密部23取得经加密的控制程序91的途径设为保密单元200的非易失性存储区域234的途径或控制单元100中的非易失性存储区域131的途径,从而能够使取得途径多样化。
154.<g.启动处理的流程图>
155.图14是表示本实施方式的控制系统1的启动处理的流程图的一例的图。图14中,例示保密单元200构成为可装卸地外置于控制单元100的单元的案例。此时,控制单元100经由与通信控制器111相关联地设置的通信端口来连接保密单元200。因此,控制单元100基于来自通信端口的信号(或通信端口的电位),来判断是否安装有保密单元200。
156.参照图14,在程序的执行时,当从电源单元450对控制系统1的各单元供给电源时,控制单元100的处理器102开始通常的启动处理(步骤s3)。所述启动处理例如包含用于执行用户程序的资源的确保等。
157.处理器102基于来自指拨开关126的信号,来判断指拨开关126处于启用或关闭中的哪种状态(步骤s5)。若判断为来自指拨开关126的信号表示启用(步骤s5中为启用),则处理器102判断是否安装有保密单元200(步骤s7)。若处理器102判断为控制单元100中安装有保密单元200(步骤s7中为(有)),则处理器102移转至“保密引导模式”,处理器102将解密处理的开始请求发送至保密单元200。保密单元200将所述开始请求的响应发送至控制单元100,由此,两者协作而实施图7~图13中所述的解密处理(步骤s11)。当解密处理(步骤s11)结束时,“保密引导模式”结束。所述解密处理中,经解密的控制程序94被保存在非易失性存储区域131中,因此能够在控制单元100中执行控制程序。
158.处理器102基于易失性存储区域130的存储内容来判断是否保存有经解密的控制程序94,并基于判断结果来判断解密处理是否已成功(步骤s13)。若判断为经加密的控制程序91的解密已成功,即,在易失性存储区域130中保存有经解密的控制程序94(步骤s13中为是),则实施剩余的启动处理(步骤s15)。在剩余的启动处理中,例如实施用于执行服务程序97等的资源的确保等。随后,一连串的启动处理结束。
159.若在步骤s7中,处理器102判断为控制单元100中未安装保密单元200(步骤s7中为(无)),或者,若在步骤s13中,处理器102判断为易失性存储区域130中未保存经解密的控制程序94(步骤s13中为否),则处理器102使指示器124点亮,并且停止启动处理(步骤s9)。由此,控制系统1或控制单元100能够告知无法启动的意旨的错误通知。
160.另一方面,若在步骤s5中,处理器102判断为来自指拨开关126的信号表示关闭(步骤s5中为关闭),则不实施保密引导模式下的解密处理,而移转至步骤s15,实施关于服务程序97的启动处理(步骤s15)。由此,在来自指拨开关126的信号为关闭时,不实施用于使控制程序90变得可执行的处理,即,经解密的控制程序94向易失性存储区域130中的保存,因此用户能够通过指拨开关126的操作来保护经解密的控制程序94不被第三者非法复制。
161.<h.附注>
162.如上所述的本实施方式包含如下所述的技术思想。
163.[结构1]
[0164]
一种控制系统(1),包括:
[0165]
控制装置(100),执行与控制对象(900)的控制相关的程序;以及
[0166]
保密装置(200),能够与所述控制装置进行通信,
[0167]
所述保密装置包含:
[0168]
密钥保存部(205),保存密钥(93);以及
[0169]
解密部(23),利用所述密钥来对经加密的所述程序(91)进行解密,
[0170]
在执行所述程序时,实施所述解密而将经解密的程序(94)转发至所述控制装置,
[0171]
所述控制装置包含易失性存储部(130),所述易失性存储部(130)存储从所述保密装置转发的所述经解密的程序。
[0172]
[结构2]
[0173]
一种保密装置(200),能够与控制装置(100)进行通信,所述控制装置(100)执行与
控制对象(900)的控制相关的程序,其中
[0174]
所述控制装置包含易失性存储部(130),所述易失性存储部(130)存储从所述保密装置转发的程序,
[0175]
所述保密装置包含:
[0176]
密钥保存部(205),保存密钥(93);以及
[0177]
解密部(23),利用所述密钥来对经加密的程序(91)进行解密,
[0178]
在执行所述程序时,实施所述解密而将经解密的程序(94)转发至所述控制装置。
[0179]
[结构3]
[0180]
根据结构2所述的保密装置,其中
[0181]
所述密钥保存部具有禁止与所述保密装置不同的装置进行读出的读出禁止区域(207),
[0182]
所述密钥被保存在所述读出禁止区域中。
[0183]
[结构4]
[0184]
根据结构2或3所述的保密装置,其中
[0185]
所述经加密的程序被保存在所述保密装置或所述控制装置所包括的非易失性存储部(234、131)中。
[0186]
[结构5]
[0187]
根据结构4所述的保密装置,其中
[0188]
所述保密装置或所述控制装置能够与外部的信息处理装置(500)进行通信,
[0189]
所述信息处理装置将所述经加密的程序转发至所述保密装置或所述控制装置。
[0190]
[结构6]
[0191]
根据结构4所述的保密装置,其中
[0192]
所述保密装置能够与外部的信息处理装置(500)进行通信,
[0193]
所述保密装置包含:
[0194]
加密部(21),生成所述经加密的程序;以及
[0195]
第一解密部(22),对从所述信息处理装置转发及利用规定的密钥经加密的程序进行解密,
[0196]
所述加密部在通过所述第一解密部对利用所述规定的密钥经加密的程序进行了解密后,再利用所述密钥保存部的密钥进行加密,由此来生成所述经加密的程序。
[0197]
[结构7]
[0198]
根据结构6所述的保密装置,其中
[0199]
所述保密装置在通过所述第一解密部对利用所述规定的密钥经加密的程序进行了解密后,保持至利用所述加密部的加密完成为止。
[0200]
[结构8]
[0201]
根据结构6或7所述的保密装置,其中
[0202]
所述保密装置进一步将由所述加密部所生成的所述经加密的程序保存至自身装置的所述非易失性存储部或者转发至所述控制装置。
[0203]
[结构9]
[0204]
根据结构2至8中任一项所述的保密装置,其中
[0205]
所述密钥保存部的所述密钥包含私钥或公钥。
[0206]
[结构10]
[0207]
一种方法,对与控制相关的程序的保密进行设定,所述与控制相关的程序是由控制对象(900)的控制装置(100)来执行,其中
[0208]
所述控制装置能够与保密装置(200)进行通信,
[0209]
所述方法包括下述步骤:
[0210]
在执行所述程序时,
[0211]
所述保密装置利用所述保密装置所保持的密钥(93)对经加密的所述程序(91)进行了解密后,转发至所述控制装置;以及
[0212]
所述控制装置将从所述保密装置转发的进行了所述解密的程序(94)保存至所述控制装置所包括的易失性存储部(130)。
[0213]
应认为,此次公开的实施方式在所有方面仅为例示而非限制者。本发明的范围是由权利要求而非所述说明所示,且意图包含与权利要求均等的含义及范围内的所有变更。
[0214]
符号的说明
[0215]
1:控制系统
[0216]
10:网络
[0217]
21:加密部
[0218]
22:简易解密部
[0219]
23:解密部
[0220]
90:控制程序
[0221]
91:经加密的控制程序
[0222]
92:经简易加密的控制程序
[0223]
93:密钥
[0224]
94:经解密的控制程序
[0225]
95、223:系统程序
[0226]
97:服务程序
[0227]
100:控制单元
[0228]
102、202、502:处理器
[0229]
104、204:芯片组
[0230]
106、206、504:主存储装置
[0231]
108、208、510:二次存储装置
[0232]
110:现场网络
[0233]
111、210:通信控制器
[0234]
112、212:控制器
[0235]
114、214:存储卡接口
[0236]
115、215:存储卡
[0237]
116、118、120、216、218:网络控制器
[0238]
122:内部总线控制器
[0239]
124、224:指示器
[0240]
125:开关接口
[0241]
126:指拨开关
[0242]
130:易失性存储区域
[0243]
131、234:非易失性存储区域
[0244]
200:安全单元
[0245]
205:安全芯片
[0246]
207:存储器
[0247]
230:简易解密处理程序
[0248]
231、5105:加密处理程序
[0249]
232:解密处理程序
[0250]
250:专用工具
[0251]
300:安全单元
[0252]
400:功能单元
[0253]
450:电源单元
[0254]
500:支持装置
[0255]
506:输入部
[0256]
508:输出部
[0257]
512:光学驱动器
[0258]
514:记录介质
[0259]
518:处理器总线
[0260]
520:通信接口
[0261]
600:服务器装置
[0262]
700:网关
[0263]
800:显示装置
[0264]
900:控制对象
[0265]
1000:网络环境
[0266]
5104:支持程序
[0267]
5106:简易加密处理程序
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜