CN112424777B - 工业个人计算机装置及其操作方法 - Google Patents

工业个人计算机装置及其操作方法 Download PDF

Info

Publication number
CN112424777B
CN112424777B CN201980047283.6A CN201980047283A CN112424777B CN 112424777 B CN112424777 B CN 112424777B CN 201980047283 A CN201980047283 A CN 201980047283A CN 112424777 B CN112424777 B CN 112424777B
Authority
CN
China
Prior art keywords
application
operating system
binary code
real
rtos
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
Application number
CN201980047283.6A
Other languages
English (en)
Other versions
CN112424777A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of CN112424777A publication Critical patent/CN112424777A/zh
Application granted granted Critical
Publication of CN112424777B publication Critical patent/CN112424777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明为一种用于操作工业个人计算机装置的方法及工业个人计算机装置,其中IPC装置包括被实施成在通用操作系统(GPOS)下执行程序代码的GPOS部及被实施成在实时操作系统(RTOS)下执行适用于实时数据处理的程序代码的RTOS部,所述方法包括以下步骤:提供基于应用程序的经包装应用程序,所述应用程序包括被设计成在RTOS下执行的二进制代码以及安全性策略;由RTOS进程根据安全性策略对经包装应用程序进行验证,以获得经验证应用程序;将经验证应用程序的二进制代码以及安全性元素从RTOS进程传递到GPOS进程;使用安全性元素在GPOS进程与RTOS部之间建立安全通信信道;以及由GPOS进程执行经验证应用程序的二进制代码。

Description

工业个人计算机装置及其操作方法
技术领域
本公开涉及用于操作计算机的方法及计算机,所述计算机尤其旨在用于与自动化网络或系统相关的工业目的,尤其涉及一种工业个人计算机装置及其操作方法。
背景技术
用于工业目的的计算机系统通常必须完成例如进程控制和/或数据采集等特殊功能。有时个人计算机(personal computer,PC)装置被用作工业个人计算机(industrialPC,IPC)。IPC可采用例如网顶(net-top)或服务器机架(server rack)等特定的形状因数(form factor)。一般期望在基于最先进的PC技术的IPC中使用现成的操作系统(operatingsystem,OS)。在过去,已经使用具有为通用操作系统(general purpose operatingsystem,GPOS)及实时操作系统(real-time operating system,RTOS)的虚拟化部的IPC。独立运行的GPOS部与RTOS部共享相同的硬件,且资源由管理程序(hypervisor)或虚拟机监视器(virtual machine monitor,VMM)管理。
为在各种虚拟化OS部之间交换数据,提出了共享存储器(shared memory)概念。例如,欧洲专利3 267 649A1公开了用于在RTOS部与GPOS部之间实行安全通信的方法及工业计算设备。有时还期望使用被设计成在需要特定接口或数据传递的特定操作系统下运行的应用。
在自动化系统或自动化网络的背景下,用于控制现场装置的应用需要操作系统的最小中断潜伏时间(minimal interrupt latency)、最小缓冲延迟(minimal bufferingdelay)及最小线程切换潜伏时间(minimal thread switching latency)。因此,自动化系统专用软件大部分被实施成在实时操作系统条件下执行。此外,尤其是RTOS会处理传入的应用数据而没有缓冲延迟。另一方面,可高效地制造及实施IPC,以运行例如苹果OS(AppleOS)、微软视窗(Microsoft Windows)或UNIX衍生品等通用操作系统。
因此,期望安全地操作涉及各种操作系统部之间的数据传递的IPC装置。尤其期望容许对实时操作系统专用端口进行存取以对自动化网络进行存取。RTOS端口可从/向现场装置接收及传送控制和/或传感器数据。
发明内容
因此,本公开的目的是提供改进的用于操作运行各种操作系统部的工业PC的方法以及相应的IPC装置。
因此,提供一种用于操作工业PC装置的方法,所述IPC装置包括被实施成在通用操作系统(GPOS)下执行程序代码的GPOS部以及被实施成在实时操作系统(RTOS)下执行适用于实时数据处理的程序代码的RTOS部。
所述方法包括以下步骤:
提供基于应用程序的经包装应用程序,所述应用程序包括被设计成在RTOS下执行的二进制代码以及安全性策略;
由RTOS进程根据安全性策略对经包装应用程序进行验证,以获得经验证应用程序;
将经验证应用程序的二进制代码以及安全性元素从RTOS进程传递到GPOS进程;
使用安全性元素在GPOS进程与RTOS部之间建立安全通信信道;以及
由GPOS进程执行经验证应用程序的二进制代码。
根据另一方面,一种工业PC(IPC)装置包括:
GPOS部,被实施成在GPOS下执行程序代码;
RTOS部,被实施成在RTOS下执行适用于实时数据处理的程序代码;以及
管理程序部,被实施成管理作为客户机(guest machine)的GPOS及RTOS在作为主机(host machine)的IPC装置上的执行;
其中所述IPC装置被实施成:
由RTOS进程根据指派到应用程序的安全性策略对经包装应用程序进行验证,以获得经验证应用程序,其中经包装应用程序是通过对包括被设计成在RTOS下执行的二进制代码的应用程序进行包装并应用所指派的安全性策略而获得;
将经验证应用程序的二进制代码(BC)以及安全性元素从RTOS进程传递到GPOS进程;
使用安全性元素在GPOS进程与RTOS部之间建立安全通信信道;以及
由GPOS进程执行经验证应用程序的二进制代码(BC)。
根据替代方面,提供一种用于操作工业PC(IPC)装置的方法,其中所述IPC装置包括:
通用操作系统(GPOS)部,被实施成在GPOS下执行程序代码;以及
实时操作系统(RTOS)部,被实施成在RTOS下执行适用于实时数据处理的程序代码。
并且所述方法包括以下步骤:
提供包括被设计成在RTOS下执行的二进制代码的应用程序;
对应用程序进行包装,从而将安全性策略应用于所述应用程序,以产生经包装应用程序;
通过RTOS进程根据安全性策略对经包装应用程序进行验证,以获得经验证应用程序;
将经验证应用程序的二进制代码以及安全性元素从RTOS进程传递到GPOS进程;
使用安全性元素在GPOS进程与RTOS部之间建立安全通信信道;以及
通过GPOS进程执行经验证应用程序的二进制代码。
本公开的又一方面涉及一种用于在实时操作系统(RTOS)下执行适用于实时数据处理的程序代码的方法。
所述方法包括以下步骤:
接收基于应用程序的经包装应用程序,所述应用程序包括被设计成在RTOS下执行的二进制代码以及安全性策略;
由RTOS进程根据安全性策略对经包装应用程序进行验证,以获得经验证应用程序;
将经验证应用程序的二进制代码以及安全性元素从RTOS进程传递到GPOS进程;
使用安全性元素在GPOS进程与RTOS部之间建立安全通信信道;以及
由GPOS进程执行经验证应用程序的二进制代码。
在所公开的用于操作IPC装置的方法和/或所公开的IPC装置中,GPOS指代未必具有实时数据处理能力的操作系统。与RTOS部相比,当应用进程数据传入或产生时,IPC装置中的GPOS部可能具有更大的缓冲延迟。与GPOS部相比,RTOS或RTOS部尤其被实施成提供低中断潜伏时间及低线程切换潜伏时间,例如便携操作系统接口(portable operatingsystem interface,POSIX)或其他可用的实时OS可被用作RTOS。
经包装应用程序是应用包装进程(application-wrapping process或app-wrapping process)的结果。在应用包装进程中,可在不对底层应用(underlyingapplication)应用改变的条件下将管理层应用于应用。例如,可通过为应用设定特定的策略元素来对应用进行包装。策略元素可为要求对经包装应用或可添加到所述应用的数字签名进行认证的安全性策略。具体来说,对应用进行包装可容许管理员获取所述应用,并将额外的安全性及管理特征与所述应用相关联,且然后将经包装应用重新部署为要分发的单个容器化程序。经包装应用可由定义策略元素的特定分发器分发。
具体来说,所公开的用于操作执行应用的工业PC的方法可包括以下步骤:
提供包括被设计成在RTOS下执行的二进制代码的应用程序;以及
对应用程序进行包装,从而将安全性策略应用于所述应用程序,以产生经包装应用程序。
应用的安全性策略及可执行代码(二进制代码)是经包装应用的一部分。安全性策略可包括对被视为对于工业PC、GPOS、RTOS环境或应用而言安全的条件的定义。例如,安全性策略可能要求使用特定的安全性级别(security level)对经包装应用进行认证。安全性级别可通过证书或密码签名或其他机制来确定,以认证经包装应用程序。安全性策略可指代软件的发行者或应用的分发器的可信识别符。在实施例中,安全性策略要求经包装应用包含二进制代码的加密版本和/或用于将应用的来源识别为例如分发器或供应商的证书。
具有被实施成在RTOS下执行的二进制代码的底层应用程序可为被设计成在RTOS的先前版本上或者在过时或淘汰的硬件装置上运行的遗留应用(legacy application)。应用程序的实际二进制代码仍然可工作,然而可能会引起与当前操作系统或所需安全性级别的兼容性问题。具体来说,RTOS部可为准许对管理控制数据及传感器数据的产生和/或所述控制数据及传感器数据往来于现场装置的交换的机器控制软件进行存取的安全区域。一般来说,GPOS部不应被准许进行此种存取。因此,在传统系统中,被设计成在RTOS部下执行的遗留应用程序可能无法在GPOS背景下执行。
在所公开的实施例中,可根据安全性策略对二进制代码进行验证,例如涉及在RTOS进程中在RTOS下进行的认证进程。如果应用程序得到验证,则经验证应用程序的可执行二进制代码与安全性元素一起被发送到GPOS进程。
如果应用程序可能无法得到验证或者验证失败,则可阻挡对安全通信信道的存取,和/或阻止对二进制代码的执行。
安全性元素容许在GPOS进程与RTOS部之间建立安全通信信道。例如,安全性元素可包括安全性加密狗(security dongle)、一次性随机数(nonce)、证书、密钥(cryptographic key)等。所公开的方法及装置的一个优点是,最初被实施成在RTOS下执行的二进制代码可被用作就GPOS进程而言的经验证应用程序。具体来说,从在GPOS进程下运行的经验证应用程序产生或接收的应用数据可通过安全通信信道传递。安全通信信道尤其是使用加密数据的通信隧道(communication tunnel)。
因此,在所述方法的实施例中,去往和/或来自执行经验证应用程序的二进制代码的GPOS进程的应用数据是通过安全通信信道传递。
在实施例中,所述方法还包括:在安全通信信道内,对被设计成在RTOS下执行的应用程序所要求的不安全通信协议进行仿真。
例如,RTOS的遗留应用可能要求基于特定协议向自动化现场装置传递应用数据或从自动化现场装置传递应用数据。例如,在GPOS环境中,被实施成遗留软件或遗留应用所采用的连接性标准(connectivity standard)的数据库客户端不被视为安全。在实施例中,不安全通信协议是自动化装备(例如现场装置和/或传感器装置)与主机工厂网络之间的通信的连接性标准。遗留应用可为被设计成在RTOS下运行的机器控制应用。可设想半导体装备通信标准(Semiconductor Equipment Communication Standard,SECS)/一般装备模型(Generic Equipment Model,GEM)标准。
因此,例如在由GPOS提供的软件服务下运行的二进制代码可使用RTOS专用通信协议,其中应用数据传递是通过安全通信信道进行隧道传输。
用语“遗留”,例如遗留软件或遗留应用指代被设计成用于RTOS环境中且例如出于安全性原因,其完整功能性不应部署在除所预期RTOS环境以外的环境中的元素。
在实施例中,安全性策略包括至少以下步骤:对应用程序的二进制代码进行加密;添加密码签名;向二进制代码添加密码证书;以及向经加密的二进制代码添加密码签名或密码证书。
对二进制代码进行加密或对二进制代码或应用程序进行签名使得能够在RTOS部内对经包装应用程序进行认证。例如,RTOS边界进程可用于通过检查附加到代码的加密或签名来认证或验证应用程序。
在实施例中,安全性策略被应用于经包装应用程序的二进制代码,且所述方法还包括:
将经包装应用程序解除包装,从而提取被应用安全性策略的应用程序的二进制代码;
由RTOS进程根据安全性策略对所提取的二进制代码进行验证,以获得经验证二进制代码;以及
由GPOS进程执行经验证二进制代码。
例如,然后,为RTOS设计的遗留二进制代码仍然可在实施在GPOS部中的软件服务下运行。然后,RTOS进程(例如边界进程)检查二进制代码的签名,或者检查附加到二进制代码的证书是否与特定证书匹配或者是否源自可信发行者。
解除包装进程优选地由RTOS进程执行,从而例如由RTOS边界进程对证书进行评价,以对封入在经包装应用程序中的二进制代码进行验证。因此,验证可在不传递从经包装应用提取的经解除包装的二进制代码的情况下进行。
在所述方法的实施例中,对经包装应用代码和/或所提取的二进制代码进行验证包括基于安全性证书进行认证和/或使用密钥进行解密。如果安全性策略要求通过安全性证书进行认证,则RTOS进程检查安全性证书的有效性(validity)。在替代方式中,二进制代码可被加密,其中RTOS进程使用密钥来对二进制代码进行解密。
在所述方法的实施例中,安全性元素被唯一地指派到经验证应用程序或经验证二进制代码。
安全性元素尤其是安全性令牌、安全性证书和/或密码签名。安全性元素是一种元素且使得能够进行就安全通信信道而言的安全通信。例如,RTOS部与GPOS部之间的安全通信信道可基于密码隧道。密码隧道传输协议容许数据从一个实体安全移动到另一个实体。在本公开中,安全通信信道优选地根据隧道传输协议来实施。实施例的隧道传输协议是基于安全外壳(Secure Shell,SSH)算法,且尤其是基于传输层安全性(TransportationLayer Standard,TLS)协议。
在所述方法的实施例中,执行以下步骤:
在传递到GPOS进程之前,将安全性证书作为安全性元素附加到经验证应用程序的二进制代码或者经验证二进制代码;以及
由执行经验证应用的二进制代码或者经验证二进制代码的GPOS进程和/或RTOS进程根据所附加的安全性证书准许通过安全通信信道对RTOS部进行存取。
在实施例中,被设计成在RTOS下执行的应用程序的二进制代码包括Java代码或.NET代码。例如,遗留应用有时以Java代码实施,所述Java代码是由自动化网络的安全环境内的RTOS软件服务执行。当使用具有GPOS及RTOS部的IPC作为虚拟化客户机时,遗留Java和/或.NET代码可使用具有Java引擎的GPOS部来执行。因此,GPOS客户机可用于执行例如实施成Java代码的遗留控制软件,其中应用数据是通过安全通信信道安全地交换到RTOS部和/或从RTOS部交换。当RTOS部结束用于控制自动化系统中的现场装置的机器控制器应用时,此为一个独特优点。机器控制器应用可实施机器自动化控制器装置的设定、编程、调试及维护。例如,可采用所公开的方法及装置将这些功能传递到GPOS部。
在IPC装置的实施例中,管理程序部被实施成提供软件总线,以在GPOS部与RTOS部之间交换请求、二进制代码和/或安全性元素。此种软件总线服务可用于交换经包装应用程序、二进制代码及建立安全通信信道。软件总线也可实行其他功能。一般来说,管理程序部可被实施成将IPC装置的硬件资源(例如处理器或处理器核)指派到GPOS部及RTOS部。管理程序也可称为虚拟机监视器(VMM)。
在实施例中,IPC装置具有RTOS部,所述RTOS部包括用于根据预定通信协议与自动化系统中的现场装置以通信方式耦合的至少一个端口。通信协议可为例如用于控制自动化技术的以太网(EtherNet for control automation technology,EtherCAT)或以太网/因特网协议(EtherNet/Internet Protocol,EtherNet/IP)。在其他实施例中,西门子进程现场网(process field net,PROFINET)标准可在RTOS部中用作往来于机器控制器应用的通信协议。
根据又一实施例,所述方法包括以下步骤:
提供多个经包装应用程序,其中所述经包装应用程序中的每一者是基于相应应用程序产生,所述相应应用程序包括被设计成在RTOS下执行的相应二进制代码及指派到所述相应应用程序的相应安全性策略;
由相应RTOS进程根据所相应地指派的安全性策略对所述多个经包装应用程序中的每一个进行验证,以获得多个经验证应用程序;
将所述多个经验证应用程序的多个二进制代码从相应RTOS进程传递到相应GPOS进程,其中相应安全性元素被指派到经验证应用程序的二进制代码中的每一个;以及
由相应GPOS进程执行经验证应用程序的二进制代码,其中去往和/或来自执行经验证应用程序的相应二进制代码的相应GPOS进程的应用数据是通过相同的安全通信信道传递。
具体来说,IPC可被实施成彼此并行地执行经验证应用程序。例如,每个应用程序均是被包装且因此具有被相应地指派的安全性策略的遗留应用程序。经包装应用程序中的每一个可彼此独立地使用所指派的安全性策略进行验证。安全性策略可为例如用于认证相应应用程序的加密或密码证书。如果RTOS进程(例如RTOS边界进程)认证或验证所述应用程序,则二进制代码可被返回到GPOS进程以供执行。
在实施例中,向经验证应用程序中的每一个指派特定的令牌或安全性元素。如果例如对所述多个经包装应用程序中的一个的验证失败,则没有二进制代码被返回到GPOS和/或RTOS未提供安全性令牌或安全性元素,使得GPOS可能无法执行未经验证应用程序。
作为另外一种选择或者另外,由GPOS执行的应用程序或二进制代码(未由RTOS进程验证)被阻止使用安全通信信道。
在实施例中,在GPOS部与RTOS部之间建立仅一个通信信道。因此,经验证遗留应用可同时使用安全通信信道。
在实施例中,不同的应用程序或二进制代码被指派不同的安全性元素。例如,安全性元素可为指派不同权限的证书,尤其是与耦合到自动化网络的RTOS部的端口相关的证书。
本公开容许在GPOS环境中使用旨在在RTOS装置中使用的遗留应用。同时,工业PC可确保安全通信,并阻止安全性漏洞(security breach),这是因为在由RTOS(边界)进程准许对遗留软件进行存取或对遗留软件进行验证后,应用数据会在GPOS与RTOS之间安全传递。
根据又一方面,本公开涉及一种计算机程序产品,所述计算机程序产品包括用于当在至少一个计算机上运行时由IPC执行上述方法的程序代码。计算机程序产品(例如计算机程序工具)可实施成存储卡、通用串行总线(Universal Serial Bus,USB)棒、光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital VersatileDisc,DVD)或可从网络中的服务器下载的文件。例如,此种文件可通过从无线通信网络传递包括计算机程序产品的文件来提供。
参照设备描述的实施例及特征,即本公开的IPC装置经必要修改后适用于操作所述IPC装置的方法,反之亦然。
本发明的其他可能的实施方式或替代解决方案还囊括上文或下文针对实施例描述的特征的组合(本文中未明确提及)。所属领域中的技术人员还可向本发明的最基本形式添加个别的或孤立的方面及特征。
附图说明
通过结合附图阅读后续说明及权利要求,本发明的进一步的实施例、特征及优点将变得显而易见,在附图中:
图1示出工业计算机装置的第一实施例的示意图。
图2示出涉及用于操作工业PC装置的方法的第一实施例的方法步骤的流程图。
图3示出涉及工业PC装置的实施例的自动化系统的实施例的示意图。
图4示出涉及用于操作工业PC装置的方法的第二实施例的方法步骤的流程图。
图5示出工业计算机装置的第三实施例的示意图。
在所述图中,除非另外指明,否则相同的参考编号表示相同或功能上等效的元件。
[符号的说明]
AD:应用数据
AP1、AP2、AP3:应用程序
BC:二进制代码
CDI、CDO:控制数据
CERT:证书
encBC:经加密二进制代码
GPOS:通用操作系统
IPC:工业PC
JE:Java引擎
RAP:实时应用程序
RTOS:实时操作系统
SE:安全性元素
VMM:虚拟机监视器/管理程序
WINOS:视窗OS
WRAP:经包装应用程序
WWW:字广域网
S0:接收WRAP
S1:请求认证
S2:对BC进行验证
S3:传递经验证BC及SE
S4:建立安全信道
S5:执行BC
S11:连接到SW总线
S12:连接到边界进程
S13:检索经加密代码
S14:启动安全通信(遗留信道)
S15:传送安全信道参数
S16:检查代码签名
S17:对代码进行解密
S18:打开安全信道
S19:返回二进制代码及令牌
S20:起动遗留应用
S21:通过Java接口加载二进制代码
S22:执行二进制代码(Java)
S23:使用令牌建立安全隧道
1:工业PC装置
2:GPOS部
3:RTOS部
4:处理器装置
5、6、7:处理核
8:管理程序装置
9:通信工具
10:经包装应用程序
11:认证服务
12:安全信道
13:软件执行服务
14:机器控制器应用
15-23:通信端口
24、25:以太网网络
26-31:外围装置
32:终端
33:接口
34:IPC
35:安全性装置
36:I/O控制装置
37:致动器
38:传感器装置
100:自动化系统
具体实施方式
图1示出工业计算机装置的第一实施例的示意图。IPC装置1旨在用于工业自动化系统,且包括若干独立地一起工作的PC技术方面。通用操作系统部2及实时操作系统部3在作为主机的IPC装置1上作为客户机彼此独立地运行。可被实施成计算机软件、固件或硬件的管理程序8创建并运行虚拟机,即GPOS部2及RTOS部3。管理程序8或虚拟机监视器管理客户操作系统(guest operating system)GPOS及RTOS的执行。IPC装置1提供若干硬件资源,例如处理器4及处理器核5、6、7。因此,管理程序8向客户操作系统提供IPC装置1的虚拟化硬件资源。
可被实施成由管理程序8管理的软件总线的通信工具9容许操作系统部2、3之间的数据交换。通用操作系统可为例如微软视窗操作系统。也可设想例如苹果OS或Unix衍生品等其他操作系统。
RTOS部3是基于具有实时性质的操作系统。具体来说,RTOS被实施成处理传入或离开的数据而没有缓冲延迟。例如,RTOS被实施成一方面从工业自动化系统中的现场装置接收控制数据或传感器数据CDO,且另一方面产生控制数据CDI。数据CDO及CDI可通过例如EtherCAT或Profinet等自动化网络总线系统传递。
RTOS尤其与现有的遗留系统兼容,现有的遗留系统可作为硬件或软件在现场装置或专用机器控制器中实施。通常,被设计成在RTOS下运行的应用可使用GPOS进行测试或修改。在某些情形中,期望在GPOS部中运行为RTOS部设计的此种遗留应用。然而,具体来说,实施使用过时通信协议的数据库客户端或机器控制应用的遗留RTOS应用如果在GPOS上运行则可能会被视为不安全。
在下文中,参照图1,呈现一种用于操作或运行例如示出在图1中的工业PC装置1的方法。所公开的方法容许在GPOS部2中使用旨在用于RTOS环境的遗留应用。同时,提供在GPOS与在RTOS部3中实施的端口之间的安全数据传递,在所述GPOS中,软件服务执行应用的遗留二进制代码。
在第一步骤S0中,提供经包装应用WRAP。经包装应用是因利用安全性策略对被设计成在RTOS下执行的应用RAP进行包装而产生。实时应用RAP被实施成可在RTOS中通过软件服务或Java引擎来执行的Java代码。然而,期望在GPOS部2中运行相同的代码BC。因此,如图1在左侧示出,产生经包装应用WRAP,所述经包装应用WRAP包括被设计成在RTOS下执行的二进制代码BC以及作为安全性策略的证书CERT。在所公开实施例中,安全性策略要求应用RAP被数字签名且包含可执行的二进制代码BC。
在下一步骤S1中,GPOS部2的软件服务13例如通过软件总线9将经包装应用传送到RTOS边界进程。接下来,RTOS边界进程11基于证书CERT对经包装应用程序WRAP进行验证。证书CERT可代表签名,在步骤S2中,由RTOS边界进程11检查所述签名的真实性。如果RTOS边界进程11验证或认证了二进制代码BC,则在步骤S3中,将二进制代码BC与安全性元素SE一起发送回GPOS部2。
GPOS部2实施软件服务13,例如图1中所指示的Java引擎JE。例如,遗留二进制代码是用Java代码写成。那么二进制代码BC包括可被加密及签名以形成经包装应用WRAP的Java代码。一般来说,Java代码可由任何Java引擎执行。然后,可执行的Java代码BC可由GPOS中的Java引擎13处理。经包装应用WRAP由供应商或分发器提供到IPC装置1。因此,在步骤S2中,RTOS边界进程仅接受有效加密及签名的Java代码。
为容许往来于运行二进制代码BC的Java引擎13交换应用数据,在步骤S4中,在GPOS进程(包括Java引擎)13与RTOS部3之间建立安全通信信道12。安全通信信道是例如使用对称密码术进行数据交换的TLS隧道。安全性元素SE是例如可为建立安全连接的随机数或伪随机数的一次性随机数。可设想其他安全性元素。
如步骤S4所指示,可在GPOS进程13与RTOS部3之间传递应用数据AD。例如,安全隧道对为被实施成在隐藏RTOS下运行的应用RAP设计的遗留协议进行仿真。例如,Java代码BC可实施数据库客户端,所述数据库客户端需要通过耦合到自动化网络的专用端口对耦合到RTOS部3的装置进行存取。如图1中所示,RTOS部3中的认证服务或边界服务11可容许应用数据(参见步骤S4)在RTOS部3与在GPOS部2中运行二进制代码BC(Java)的软件服务13之间传递。因此,所提出及公开的方法容许在GPOS部2内执行作为被设计成在RTOS下执行的二进制代码的实例的遗留Java字节代码。
当IPC装置1集成在自动化网络或工业自动化系统中时,所述方法尤其有用。图3示出具有IPC装置1的自动化系统100的实施例。IPC装置1大致如图1中所示般实施。然而,出于例示目的,图中省略了IPC主机的管理程序及硬件组件。GPOS部2提供若干用于提供接口的通信端口15-21。例如,GPOS部2可通过以太网端口15耦合到因特网WWW。例如,终端装置(例如PC)可使用GPOS部2通过以太网25耦合到IPC装置1。产生接口的通信端口的其他实例是安全数字(secure digital,SD)存储卡26、外围组件互连(peripheral componentinterconnect,PCI)卡27、硬盘28、串行装置29、数字视觉接口(digital visualinterface,DVI)装置30或USB装置31。在图1中,示出SD装置、PCI装置、硬盘装置、串行装置、DVI装置及USB装置26–31作为实例。GPOS是例如视窗10操作系统。此外,可使用其他视窗标准。
RTOS部3是例如实时(real-time,RT)操作系统,且具有用于自动化目的的实时能力。RT操作系统包括且实施机器控制器应用14。机器控制器应用14被实施成通过专用工业网络来通信及对现场装置进行控制。例如,RTOS部3具有以太网/IP端口22,且容许通过以太网网络耦合到终端装置32及其他工业PC 34和/或用户接口33。
RTOS部3还提供端口23,以通过预定通信协议与现场装置35、36、37、38以通信方式耦合。例如,端口23耦合到EtherCAT总线系统。也可设想其他通信协议,例如由西门子提供的Profinet。
机器控制器应用14尤其被实施成设定、程式、调试或维护自动化控制器服务。例如,软件机器控制器14可从例如实施光幕(light curtain)的安全性装置35接收数据。同时,机器控制器应用14可控制致动器装置37或者从传感器装置38接收传感器数据。机器控制器的功能通常由专用于在RTOS下运行的遗留应用来实施。在一些情形中,遗留应用可被实施成在嵌入式系统上运行,而不是在IPC上运行。
接下来,示出例如图1或图3中所示用于操作IPC装置的方法的又一实施例,或者用于在GPOS环境内执行所提供的适用于在RTOS下进行实时数据处理的软件代码的方法。图4中所指示的功能及进程由GPOS及RTOS提供的相应软件服务实施。
图4的左侧部示出GPOS进程,而右手侧示出RTOS服务或进程。
在图4所示实施例中,假设视窗操作系统WINOS接收经包装Java应用WRAP。Java应用被加密且被提供用于认证的证书。GPOS或视窗操作系统提供Java引擎JE。
在第一步骤S0中,接收经包装应用WRAP。在步骤S11中,视窗操作系统WINOS耦合到软件总线服务。此可能涉及使得能够对软件总线服务进行存取的安全性证书。接下来,软件总线服务连接到RTOS边界进程。边界进程或RTOS被实施成RT操作系统。在步骤S12中连接到边界进程可涉及散列函数的执行。
接下来,在步骤S13中,获得从经包装应用WRAP检索的经加密Java代码encBC。在步骤S14中,经加密Java应用encBC与签名或证书CERT一起被递送到RTOS的软件总线服务。因此,软件总线服务获得经加密Java代码及Java代码签名作为Java代码来源(例如,软件分发器)的认证。
在接下来的步骤中,建立安全通信隧道,以容许应用数据在运行Java代码的GPOS与例如图3中所示机器控制器之间交换。在步骤S15中,软件总线服务将打开例如对遗留通信信道进行仿真的安全通信信道的请求递送到RTOS边界进程。步骤S15可涉及将经加密Java代码、证明Java代码来源的签名或证书以及一次性随机数递送到RTOS边界进程。RTOS边界进程例如利用匹配的证书来检查Java代码签名CERT。
如果边界进程通过核实签名而认证了Java代码的出处或来源,则在步骤S17中对Java代码进行解密。因此,可执行的Java代码在边界进程处是可用的。
接下来,在步骤S18中,建立安全信道。此可能涉及发送令牌及因经加密Java代码的解密进程产生的二进制代码。
在步骤S19中,将二进制代码(即可执行的Java代码)及作为安全性元素的安全性令牌传送到软件总线服务。软件总线服务接下来启动由GPOS部中的JE对遗留Java代码的执行。此指示在步骤S20中。
因此,在步骤S22中,软件总线服务通过Java本地接口加载并起动二进制代码。步骤S21及S22涉及产生安全性令牌,以便建立例如就TLS连接而言的安全隧道。因此,Java代码由GPOS中的Java引擎执行,然而,同时,可在步骤S23中通过安全信道进行通信,且对RTOS中所提供的端口进行存取。此意味着Java代码或二进制代码BC可操作及执行被视为在GPOS方面不安全的遗留通信协议。例如,TLS隧道实施与遗留实时操作系统应用兼容的仿真不安全协议。
因此,重新参照图3,GPOS中的软件服务执行过时的或遗留的二进制代码,其中所述二进制代码可通过由安全通信信道12(参见图1)封装的不安全协议进行通信且对实时机器控制器所可取得的数据进行存取。例如,遗留二进制代码可包括用于致动器装置的控制功能。GPOS一般不能对耦合到自动化网络26(参见图3)的通信端口进行存取。然而,在GPOS部2中的软件服务13(参见图1)与RTOS部3的边界进程11(参见图1)之间建立安全隧道可容许针对Java应用执行控制算法,从而产生应用或控制数据CDI来控制致动器装置37。
图5示出工业计算机装置(例如IPC装置1)的第三实施例的示意图。一般来说,IPC装置1如图1及图3中所示般实施。IPC装置1具有GPOS部2及RTOS部3,其中RTOS部3可例如根据特定的通信协议从自动化网络产生控制数据CDO及接收控制数据CDI。在RTOS部3中实施的边界进程或认证进程11容许在GPOS部2中在遗留软件服务13下运行的应用AP1、AP2、AP3之间的安全通信。可使用软件总线服务9在GPOS部2与RTOS部3之间建立安全通信隧道12。
在图5中,示出多个应用程序AP1-AP3,其中每个应用程序AP1、AP2、AP3被实施成在RTOS下执行。应用程序AP1、AP2、AP3被提供为经包装应用程序,其中每个应用程序具有所指派的安全性策略,例如附加的签名或证书。对于遗留应用程序AP1、AP2、AP3中的每一者,可执行根据图2或图4的进程,然而,仅建立一个安全通信信道12。相应的遗留应用之间的安全通信由贯穿安全隧道12的点线、点划线及虚线指示,其中RTOS中的边界进程11容许或阻挡安全通信。例如,不准许AP2对控制数据CDI及传感器数据CDO进行存取。例如,安全性策略可能在所述多个应用AP1-AP3中的应用之间有所不同。
依据所封入的证书,所述多个应用中的应用AP1、AP2、AP3在所述应用对RTOS部的资源的所准许存取进行包装方面可能有所不同。例如,附加到应用的相应证书容许不同权限。例如,对RTOS部3的资源的存取是根据包装进程中附加到遗留应用的证书或安全性策略来确定。因此,边界进程11准许应用AP1及AP3对RTOS的自动化网络端口进行存取,然而拒绝应用AP2进行存取。
尽管已根据优选实施例描述了本发明,然而对于所属领域中的技术人员来说显而易见的是,在所有实施例中均可进行修改。例如,可设想将除Java以外的其他可执行代码作为遗留二进制代码。例如,应用二进制文件可通过.NET代码实施。可使用密码签名或令牌而不是使用证书来对经包装应用进行认证。

Claims (20)

1.一种用于操作工业个人计算机装置的方法,所述工业个人计算机装置包括:
通用操作系统部,被实施成在通用操作系统下执行程序代码;以及
实时操作系统部,被实施成在实时操作系统下执行适用于实时数据处理的程序代码;
所述方法包括:
提供基于应用程序的经包装应用程序,所述应用程序包括被设计成在所述实时操作系统下执行的二进制代码以及安全性策略;
由实时操作系统进程根据所述安全性策略对所述经包装应用程序进行验证,以获得经验证应用程序;
将所述经验证应用程序的所述二进制代码以及安全性元素从所述实时操作系统进程传递到通用操作系统进程;
使用所述安全性元素在所述通用操作系统进程与所述实时操作系统部之间建立安全通信信道;以及
由所述通用操作系统进程执行所述经验证应用程序的所述二进制代码。
2.根据权利要求1所述的方法,还包括:
通过所述安全通信信道传递去往和/或来自执行所述经验证应用程序的所述二进制代码的所述通用操作系统进程的应用数据。
3.根据权利要求1或2所述的方法,还包括:
在所述安全通信信道内,对被设计成在所述实时操作系统下执行的所述应用程序所要求的不安全通信协议进行仿真。
4.根据权利要求1或2所述的方法,还包括:
提供包括被设计成在所述实时操作系统下执行的所述二进制代码的所述应用程序;以及
对所述应用程序进行包装,从而将所述安全性策略应用于所述应用程序,以产生所述经包装应用程序。
5.根据权利要求1或2所述的方法,其中所述安全性策略包括:对所述应用程序的所述二进制代码进行加密;向所述二进制代码添加密码签名或证书,和/或向经加密的所述二进制代码添加密码签名或证书。
6.根据权利要求1或2所述的方法,其中所述安全性策略被应用于所述经包装应用程序的所述二进制代码,且所述方法还包括:
将所述经包装应用程序解除包装,从而提取被应用所述安全性策略的所述应用程序的所述二进制代码;
由所述实时操作系统进程根据所述安全性策略对所提取的所述二进制代码进行验证,以获得经验证二进制代码;以及
由所述通用操作系统进程执行所述经验证二进制代码。
7.根据权利要求1或2所述的方法,其中对所述经包装应用程序和/或所提取的所述二进制代码进行验证包括:
基于安全性证书进行认证和/或使用密钥进行解密。
8.根据权利要求6所述的方法,其中所述安全性元素被唯一地指派到所述经验证应用程序或所述经验证二进制代码。
9.根据权利要求1或2所述的方法,其中所述安全性元素包括:安全性令牌、安全性证书和/或密码签名。
10.根据权利要求6所述的方法,还包括:
在传递到所述通用操作系统进程之前,将安全性证书附加到所述经验证应用程序的所述二进制代码或者所述经验证二进制代码;以及
由执行所述经验证应用程序的所述二进制代码或者所述经验证二进制代码的所述通用操作系统进程,作为附加的所述安全性证书的功能,准许通过所述安全通信信道对所述实时操作系统部进行存取。
11.根据权利要求1或2所述的方法,还包括:
提供多个经包装应用程序,其中所述多个经包装应用程序的每一个是基于相应应用程序产生,所述相应应用程序包括被设计成在所述实时操作系统下执行的相应二进制代码及指派到所述相应应用程序的相应安全性策略;以及
由相应实时操作系统进程根据所相应地指派的所述安全性策略对所述多个经包装应用程序的每一个进行验证,以获得多个经验证应用程序;
将所述多个经验证应用程序的多个二进制代码从所述相应实时操作系统进程传递到相应通用操作系统进程,其中相应安全性元素被指派到所述多个经验证应用程序的所述多个二进制代码中的每一个;以及
由所述相应通用操作系统进程执行所述经验证应用程序的所述二进制代码;其中
去往和/或来自执行所述经验证应用程序的所述相应二进制代码的所述相应通用操作系统进程的应用数据是通过相同的所述安全通信信道传递。
12.根据权利要求1或2所述的方法,其中被设计为在所述实时操作系统下执行的所述应用程序的所述二进制代码包括Java代码或.NET代码。
13.根据权利要求1或2所述的方法,其中所述安全通信信道采用传输层安全性协议。
14.一种工业个人计算机装置,包括:
通用操作系统部,被实施成在通用操作系统下执行程序代码;
实时操作系统部,被实施成在实时操作系统下执行适用于实时数据处理的程序代码;以及
管理程序部,被实施成管理作为客户机的所述通用操作系统及所述实时操作系统在作为主机的所述工业个人计算机装置上的执行;
其中所述工业个人计算机装置被实施成:
由实时操作系统进程根据指派到应用程序的安全性策略对经包装应用程序进行验证,以获得经验证应用程序,其中所述经包装应用程序是通过包装包括被设计成在所述实时操作系统下执行的二进制代码的应用程序并应用所指派的所述安全性策略而获得;
将所述经验证应用程序的所述二进制代码以及安全性元素从所述实时操作系统进程传递到通用操作系统进程;
使用所述安全性元素在所述通用操作系统进程与所述实时操作系统部之间建立安全通信信道;以及
由所述通用操作系统进程执行所述经验证应用程序的所述二进制代码。
15.根据权利要求14所述的工业个人计算机装置,被实施成执行权利要求1至13中任一项所述的方法。
16.根据权利要求14或15所述的工业个人计算机装置,其中所述管理程序部被实施成提供用于在所述通用操作系统部与所述实时操作系统部之间交换请求、二进制代码和/或安全性元素的软件总线服务。
17.根据权利要求14或15所述的工业个人计算机装置,其中所述管理程序部被实施成将所述工业个人计算机装置的硬件资源指派到所述通用操作系统部及所述实时操作系统部。
18.根据权利要求14或15所述的工业个人计算机装置,其中所述实时操作系统部包括用于控制自动化系统中的现场装置(35-38)的机器控制器应用。
19.根据权利要求14或15所述的工业个人计算机装置,其中所述实时操作系统部包括至少一个端口,用于根据预定通信协议,与自动化系统中的现场装置以通信方式耦合。
20.根据权利要求19所述的工业个人计算机装置,其中所述通信协议为根据用于控制自动化技术的以太网和/或以太网/因特网协议标准。
CN201980047283.6A 2018-08-17 2019-07-31 工业个人计算机装置及其操作方法 Active CN112424777B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18189584.8 2018-08-17
EP18189584.8A EP3611642B1 (en) 2018-08-17 2018-08-17 Method for operating an industrial pc device and industrial pc device
PCT/IB2019/020027 WO2020035742A1 (en) 2018-08-17 2019-07-31 Method for operating an industrial pc device and industrial pc device

Publications (2)

Publication Number Publication Date
CN112424777A CN112424777A (zh) 2021-02-26
CN112424777B true CN112424777B (zh) 2023-09-08

Family

ID=63491381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980047283.6A Active CN112424777B (zh) 2018-08-17 2019-07-31 工业个人计算机装置及其操作方法

Country Status (5)

Country Link
US (1) US11640468B2 (zh)
EP (1) EP3611642B1 (zh)
JP (1) JP7044201B2 (zh)
CN (1) CN112424777B (zh)
WO (1) WO2020035742A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880863B (zh) * 2020-07-10 2023-10-24 Oppo广东移动通信有限公司 应用程序的运行方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101349976A (zh) * 2003-04-09 2009-01-21 扎鲁纳股份有限公司 操作系统
JP2009217750A (ja) * 2008-03-12 2009-09-24 Nec Corp コンピュータシステム、入出力優先度制御方法、及びプログラム
JP2012048617A (ja) * 2010-08-30 2012-03-08 Yokogawa Electric Corp リアルタイム制御システム
CN103198239A (zh) * 2011-09-09 2013-07-10 辉达公司 经由在线服务器的内容保护和安全操作系统中的代码执行
EP2685377A1 (de) * 2012-07-10 2014-01-15 Siemens Aktiengesellschaft Verfahren und Anordnung zur Synchronisierung von zwei auf einer Hardware-Plattform ablaufenden Prozessen
WO2016128443A1 (en) * 2015-02-11 2016-08-18 Siemens Aktiengesellschaft Method to isolate real-time or safety-critical software and operating system from non-critical software and operating system
WO2017052061A1 (ko) * 2015-09-21 2017-03-30 주식회사 레인보우 Gpos 연동형 실시간 로봇 제어 시스템 및 이를 이용한 실시간 디바이스 제어 시스템
JP2017162483A (ja) * 2015-08-25 2017-09-14 株式会社Seltech ハイパーバイザーを有するシステム
CN107273180A (zh) * 2016-04-07 2017-10-20 欧姆龙株式会社 控制装置、控制方法以及程序
EP3267649A1 (en) * 2016-07-08 2018-01-10 Omron Corporation Method and industrial computing apparatus for performing a secure communication

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301772A (ja) 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
JP2000138917A (ja) 1998-05-29 2000-05-16 Texas Instr Inc <Ti> 安全計算システム及び方法
US7697536B2 (en) * 2005-04-01 2010-04-13 International Business Machines Corporation Network communications for operating system partitions
US20070226795A1 (en) * 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
JP5631334B2 (ja) 2009-12-14 2014-11-26 パナソニック株式会社 情報処理装置
JP2012003617A (ja) 2010-06-18 2012-01-05 Canon It Solutions Inc 情報処理装置、画面領域制御方法およびそのプログラム
US8856317B2 (en) * 2010-07-15 2014-10-07 Cisco Technology, Inc. Secure data transfer in a virtual environment
US20130055335A1 (en) * 2011-08-22 2013-02-28 Shih-Wei Chien Security enhancement methods and systems
WO2015041670A1 (en) * 2013-09-20 2015-03-26 Schneider Electric Usa Inc. Systems and methods for verification and deployment of applications to programmable devices
US20150264047A1 (en) * 2014-03-12 2015-09-17 Agreeya Mobility, Inc. Method and system for providing secure communication between multiple operating systems in a communication device
US9331988B2 (en) * 2014-03-20 2016-05-03 Oracle International Corporation System and method for provisioning secrets to an application (TA) on a device
EP2927763B1 (en) * 2014-04-04 2019-06-19 Abb Ag System and method for an optimized operation of real-time embedded solutions in industrial automation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101349976A (zh) * 2003-04-09 2009-01-21 扎鲁纳股份有限公司 操作系统
JP2009217750A (ja) * 2008-03-12 2009-09-24 Nec Corp コンピュータシステム、入出力優先度制御方法、及びプログラム
JP2012048617A (ja) * 2010-08-30 2012-03-08 Yokogawa Electric Corp リアルタイム制御システム
CN103198239A (zh) * 2011-09-09 2013-07-10 辉达公司 经由在线服务器的内容保护和安全操作系统中的代码执行
EP2685377A1 (de) * 2012-07-10 2014-01-15 Siemens Aktiengesellschaft Verfahren und Anordnung zur Synchronisierung von zwei auf einer Hardware-Plattform ablaufenden Prozessen
WO2016128443A1 (en) * 2015-02-11 2016-08-18 Siemens Aktiengesellschaft Method to isolate real-time or safety-critical software and operating system from non-critical software and operating system
JP2017162483A (ja) * 2015-08-25 2017-09-14 株式会社Seltech ハイパーバイザーを有するシステム
WO2017052061A1 (ko) * 2015-09-21 2017-03-30 주식회사 레인보우 Gpos 연동형 실시간 로봇 제어 시스템 및 이를 이용한 실시간 디바이스 제어 시스템
CN107273180A (zh) * 2016-04-07 2017-10-20 欧姆龙株式会社 控制装置、控制方法以及程序
EP3267649A1 (en) * 2016-07-08 2018-01-10 Omron Corporation Method and industrial computing apparatus for performing a secure communication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于可信执行环境的嵌入式双操作系统架构研究;孟子琪 等;计算机工程(第04期);全文 *

Also Published As

Publication number Publication date
EP3611642B1 (en) 2020-08-12
US20210271761A1 (en) 2021-09-02
CN112424777A (zh) 2021-02-26
JP2021523494A (ja) 2021-09-02
JP7044201B2 (ja) 2022-03-30
WO2020035742A1 (en) 2020-02-20
US11640468B2 (en) 2023-05-02
EP3611642A1 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
US11720503B2 (en) Technologies for secure authentication and programming of accelerator devices
US11038678B2 (en) Trusted key diversity on cloud edge devices
US9531715B1 (en) Method and system for protecting credentials
US10885197B2 (en) Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning
McCune et al. Flicker: An execution infrastructure for TCB minimization
US8875240B2 (en) Tenant data center for establishing a virtual machine in a cloud environment
US8364975B2 (en) Methods and apparatus for protecting data
US20150358313A1 (en) Systems and methods for secured communication hardware security module and network-enabled devices
Kim et al. Predictability of android openssl's pseudo random number generator
TW201635180A (zh) 與網路服務主機通訊之安全硬體安全模組系統與方法
CA3077203A1 (en) Methods for internet communication security
JP2017535843A (ja) スマートカードによるログオンおよび連携されたフルドメインログオン
WO2022073264A1 (en) Systems and methods for secure and fast machine learning inference in trusted execution environment
Schear et al. Bootstrapping and maintaining trust in the cloud
WO2016160209A1 (en) Technologies for secure server access using a trusted license agent
O'Neill et al. {TrustBase}: An architecture to repair and strengthen certificate-based authentication
CN112738064A (zh) 一种基于sm2,sm4国密算法提升ssh协议安全性的方法
EP3048553B1 (en) Method for distributing applets, and entities for distributing applets
US20150047001A1 (en) Application program execution device
CN109508529B (zh) 一种支付终端安全启动校验的实现方法
US20230062521A1 (en) Gateway
CN112424777B (zh) 工业个人计算机装置及其操作方法
Pop et al. Towards securely migrating webassembly enclaves
EP4354792A1 (en) A device and a method for performing a cryptographic operation
Quaresma TrustZone Based Attestation in Secure Runtime Verification for Embedded Systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant