JP6766895B2 - セキュアな通信を行う方法および産業コンピューティング装置 - Google Patents

セキュアな通信を行う方法および産業コンピューティング装置 Download PDF

Info

Publication number
JP6766895B2
JP6766895B2 JP2018566468A JP2018566468A JP6766895B2 JP 6766895 B2 JP6766895 B2 JP 6766895B2 JP 2018566468 A JP2018566468 A JP 2018566468A JP 2018566468 A JP2018566468 A JP 2018566468A JP 6766895 B2 JP6766895 B2 JP 6766895B2
Authority
JP
Japan
Prior art keywords
operating system
data
real
general
open platform
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
JP2018566468A
Other languages
English (en)
Other versions
JP2019523951A (ja
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 JP2019523951A publication Critical patent/JP2019523951A/ja
Application granted granted Critical
Publication of JP6766895B2 publication Critical patent/JP6766895B2/ja
Active 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/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
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • 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/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、リアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行う方法に関する。本発明はさらに、そのような方法を実施するためのプログラムコードを含むコンピュータプログラム製品に関する。さらに、本発明は、リアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うための産業コンピューティング装置、および、そのような産業コンピューティング装置を含む産業通信システムに関する。
産業のオートメーションおよび/または通信システムは、実際の製造プロセスをコントロールする様々な製造(またはオートメーション)コントローラだけでなく、異なる生産態様のモニタリングおよび/または管理のための様々な企業ソフトウェアアプリケーション(それらは、情報技術(IT)または製造のソフトウェアアプリケーションとしても知られている)を含む。企業ソフトウェアアプリケーションおよび製造コントローラは、産業オートメーションシステムの2つの異なるドメイン(すなわちそれぞれ企業ドメインおよびコントロールドメイン)の中で動作すると考えることができる。この目的のために、産業通信システムはしばしば、異なるドメインに割り当てられた異なるオペレーティングシステムを有する多数のデバイスを含む。これらのオペレーティングシステムは、異なるセキュリティレベルを有するかもしれず、そのため、これらのオペレーティングシステム間の通信は、異なるセキュリティ要件または性能要件に従わなければならないかもしれない。異なるセキュリティ要件は、割り当てられたデバイスの異なるセキュリティ分類に依存するかもしれない。例えば、重大なまたは機密のデータはより高いセキュリティ要件を有しているかもしれず、すなわち、他のデータよりも攻撃から保護される必要があるかもしれない。異なる性能要件は、デバイスの種類に依存するかもしれない。例えば、いくつかのデバイスはリアルタイムの制約を有することがあり、そのため、リアルタイムオペレーティングシステムに割り当てられるかもしれず、一方で、他のデバイスは、この種の制約を有さず、汎用オペレーティングシステムに割り当てることができる。
米国特許出願公開番号US2009/0233705A1 米国特許出願公開番号US2015/0264047A1
リアルタイムオペレーティングシステム(RTOS)は、例えば、機械類および産業システムをコントロールするために使用される。RTOSは、特定のオペレーションが、それが起こるたびに正確に同じ長さの時間で実行されるように、コンピュータのリソースを管理してもよい。複雑な機械において、システム資源が利用可能であるという理由だけで部品をより速く動かすことは、システムがビジーであるためにそれを少しも動かすことができないことと同様、全く破壊的なものになるかもしれない。
一方、汎用オペレーティングシステム(GPOS)は、オペレータインタフェース、データベース、および汎用の演算タスクを扱うために使用されてもよい。GPOSの例は、とりわけ、アップルOS X、Linux、およびその変形、ならびにマイクロソフトWindowsである。
産業通信システムでは、RTOSおよびGPOSは、1つの単一のコンピューティング装置(例えばコンピュータ)の中で組み合わせられてもよい。しかしながら、オペレーティングシステムが異なるセキュリティおよび性能の要件を有するため、オペレーティングシステムは、コンピューティング装置内で仮想的に分離されてもよい。オペレーティングシステム間で通信を行うために、例えば、オペレーティングシステム間またはオペレーティングシステムに割り当てられているデバイス間でデータを交換するために、異なるオペレーティングシステム間の通信経路が提供される必要がある。
本発明の目的の1つは、異なるオペレーティングシステム間の、改善されたセキュアな通信を提供することである。
したがって、リアルタイムオペレーティングシステム(RTOS)と汎用オペレーティングシステム(GPOS)との間のセキュアな通信を行う方法が提案され、その方法では、前記リアルタイムオペレーティングシステムおよび前記汎用オペレーティングシステムは、単一のコンピューティング装置に設けられ且つ仮想マシンモニタによって分離されている。前記リアルタイムオペレーティングシステムは第1のオープンプラットフォーム通信インタフェースを含み、前記汎用オペレーティングシステムは第2のオープンプラットフォーム通信インタフェースを含む。前記方法は、以下のステップ、すなわち、前記第1または第2のオープンプラットフォーム通信インタフェースを介して、ユーザから、前記汎用オペレーティングシステムから前記リアルタイムオペレーティングシステムのデータにアクセスする、または、前記リアルタイムオペレーティングシステムから前記汎用オペレーティングシステムのデータにアクセスするリクエストを前記仮想マシンモニタで受信すること、前記リクエストに従って前記第1および第2のオープンプラットフォーム通信インタフェースの間のソフトウェアバスを介するセキュアな通信経路を確立すること、および、前記データにアクセスするための前記確立された安全な通信経路を介して前記リアルタイムオペレーティングシステムと前記汎用オペレーティングシステムとの間のセキュアな通信を行うこと、を含む。
提案された方法を使用して、1つの単一コンピューティング装置に含まれる異なるオペレーティングシステム間のセキュアな通信を提供することが可能である。単一のコンピューティング装置は、1つのコンピューティングシステム上で複数のオペレーティングシステムをホストすることができるコンピュータまたは同種のものであってもよい。単一のコンピューティング装置は、ネットワーク上の他のデバイスと通信してもよい。単一のコンピューティング装置は、産業コンピューティング装置であってもよい。
オペレーティングシステムは、仮想マシンモニタ(ハイパーバイザーと呼ばれることもある)によって分離されている。仮想マシンモニタは、2つのオペレーティングシステムを分離し、且つ、オペレーティングシステム間の通信をコントロールおよび管理するように働く。仮想マシンモニタは、仮想マシン(ここでは、2つのオペレーティングシステム、RTOSおよびGPOSを有する仮想マシン)を生成して実行する、1つのコンピュータソフトウェア、ファームウェアまたはハードウェアである。ここでの「分離されている」とは、2つのオペレーティングシステムが互いにデータを直接読み書きすることができず、仮想マシンモニタおよびソフトウェアバスを介してのみそれが可能であること、を意味する場合がある。
それぞれのオペレーティングシステムのセキュリティを維持するために、すなわち、GPOSとRTOSとの間の障壁を開くことによるオペレーティングシステム間のセキュリティ上のネガティブな影響の回避のために、仮想マシンモニタは、GPOSとRTOSとの間の安全な通信経路を確立してもよい。ここでの「セキュア」とは、通信経路自体に対する任意の攻撃を防ぐために、または、通信経路を介してオペレーティングシステム間で送信されているデータを保護するために、通信経路がセキュリティ機能を使用するかもしれないこと、を意味する場合がある。
通信経路は、ソフトウェアバス(「通信チャネル」と呼ばれることもある)によって提供されてもよい。ソフトウェアバスは、オペレーティングシステムであるGPOSとRTOSとの間の接続および通信を容易にするか可能にする、共有された通信チャネルのことを意味する場合がある。
GPOSからRTOSのデータにまたは逆方向にアクセスするようにユーザからのリクエストが受信された場合、仮想マシンモニタは通信経路を確立し、オペレーティングシステム間の通信を行うことができる。通信経路は、オペレーティングシステムの通信インタフェース間で確立されてもよい。通信インタフェースは、オープンプラットフォーム通信(OPC)インタフェースであってもよい。OPCは、産業電気通信のための一連の規格および仕様を参照してもよい。OPCは、異なる製造業者からのコントロールデバイス間のリアルタイムの設備データの通信を規定する。オペレーティングシステムのそれぞれは、1つのOPCインタフェースを実装する。
ユーザリクエストは、通常のユーザ、またはユーザアプリケーション(すなわち、OPCを使用し、自動的に行われるアプリケーション)に由来してもよい。
一実施形態によれば、安全な通信経路は、第1および第2の通信プロトコルを使用する。第1の通信プロトコルは、パラレルデータバス用の通信プロトコルであってもよく、第2の通信プロトコルは、リクエスト/レスポンス・デュアルバス用のプロトコルであってもよい。
仮想マシンモニタは、オペレーティングシステム間で、リクエストおよびそれらのリクエストに対するレスポンスを送信するための、リクエスト/レスポンス・デュアルバスを使用してもよい。リクエストされたデータを送信するときに、データを送信するためのそれぞれの方向に通信チャネルを提供するパラレルデータバスが使用されてもよい。
さらなる一実施形態によれば、セキュアな通信は、証明書および/または署名を使用した通信である。
証明書または署名は、オペレーティングシステムのそれぞれの同一性を確証するため、送信データの出所を確証するため、または送信データをエンコードするために使用されてもよい。例えば、RTOSは、ソフトウェアバスを介してデータを送信してもよい。ソフトウェアバスは、RTOSの中の情報を証明してそれをGPOSに送ってもよく、GPOSは、情報および添付された証明書を確証してもよい。
さらなる一実施形態によれば、セキュアな通信は暗号化通信である。
この実施形態によれば、送信されるデータは暗号化されてもよい。これは、例えば、公開鍵/秘密鍵暗号化、または、送信データを暗号化するのに適切な他の種類の暗号化、を使用して行われてもよい。
さらなる一実施形態によれば、リアルタイムオペレーティングシステムのデータまたは汎用オペレーティングシステムのデータは、ソフトウェアバスを介してサブスクライブされたデータ(subscribed data)として入手可能である。
データ(関連するオペレーティングシステムに割り当てられている異なるデバイスからのデータまたは情報であってもよい(例えばコントローラ、センサ、クラウド情報または同様のもの))は、オペレーティングシステム間で翻訳される必要があるかもしれない。GPOSおよびRTOSは異なる言語を使用してもよく、そのため、RTOSからのデータは、GPOSに到達するために翻訳されなければならない。翻訳された形式でデータが既に存在している場合、データは、サブスクライブされたデータと呼ばれることがある。
さらなる一実施形態によれば、データにアクセスするためのセキュアな通信は、アクセスされるデータが属するリアルタイムオペレーティングシステムまたは汎用オペレーティングシステムへのアクセスなしで、サブスクライブされたデータへのダイレクトアクセスとして行われる。
翻訳された形式(すなわち、サブスクライブされたデータとして)でデータが既に存在している場合、オペレーティングシステム自体へのさらなるアクセスなしで、データは直接リクエストされ送信されることができる。
さらなる一実施形態によれば、リアルタイムオペレーティングシステムのデータまたは汎用オペレーティングシステムのデータは、リアルタイムオペレーティングシステムまたは汎用オペレーティングシステムで入手可能である。
サブスクライブされた形式でデータが存在していない場合、そのことは、オペレーティングシステムのそれぞれに割り当てられている異なるデバイスからのデータが、翻訳された形式においてではなくオペレーティングシステムの1つにおいて既に入手可能かもしれないことを意味する。
さらなる一実施形態によれば、データにアクセスするためのセキュアな通信は、アクセスされるデータが属するリアルタイムオペレーティングシステムまたは汎用オペレーティングシステムへのアクセスとして行われる。
この場合、データはサブスクライブされてもよく、その後にアクセスが許可される。
他のオペレーティングシステムの言語への翻訳は、ユーザのリクエストに応じて行われてもよい。
さらなる一実施形態によれば、リアルタイムオペレーティングシステムのデータまたは汎用オペレーティングシステムのデータは、リアルタイムオペレーティングシステムまたは汎用オペレーティングシステムで入手できない。
この実施形態では、データは、翻訳された形式でもオペレーティングシステムでも入手できず、接続されたデバイスにおいてのみ入手可能である。
さらなる一実施形態によれば、データにアクセスするための確立されたセキュアな通信経路を介してリアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うことは、アクセスされるデータが属するリアルタイムオペレーティングシステムまたは汎用オペレーティングシステムに接続されているデバイスからデータを検索すること、および、アクセスされるデータが属するリアルタイムオペレーティングシステムまたは汎用オペレーティングシステムを介してデータにアクセスすること、を含む。
したがって、データは、ユーザからのリクエストに応じてオペレーティングシステムのうちの1つに接続されているデバイスから検索されてもよく、それに続いて翻訳されてもよい。最終的に、翻訳されたデータは、上記のような他のオペレーティングシステムに提供されてもよい。
さらなる一態様によれば、本発明は、少なくとも1つのコンピュータ上で実行されたときにリアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うための上記方法を実施するためのプログラムコードを含むコンピュータプログラム製品に関する。
コンピュータプログラム手段のようなコンピュータプログラム製品は、メモリーカード、USBスティック、CD−ROM、DVDとして、または、ネットワーク中のサーバからダウンロードされてもよいファイルとして、具体化されてもよい。例えば、そのようなファイルは、コンピュータプログラム製品を含むファイルを無線通信ネットワークから転送することによって提供されてもよい。
さらなる一態様によれば、リアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うための産業コンピューティング装置が提案される。産業コンピューティング装置は、単一のコンピューティング装置としての産業コンピューティング装置に設けられたリアルタイムオペレーティングシステムおよび汎用オペレーティングシステムと、リアルタイムオペレーティングシステムと汎用オペレーティングシステムとを分離するための仮想マシンモニタであって、リアルタイムオペレーティングシステムは第1のオープンプラットフォーム通信インタフェースを含み汎用オペレーティングシステムは第2のオープンプラットフォーム通信インタフェースを含む仮想マシンモニタと、を含み、仮想マシンモニタは、第1または第2のオープンプラットフォーム通信インタフェースを介して、ユーザから、汎用オペレーティングシステムからリアルタイムオペレーティングシステムのデータにアクセスする、または、リアルタイムオペレーティングシステムから汎用オペレーティングシステムのデータにアクセスするリクエストを受信し、リクエストに従って第1および第2のオープンプラットフォーム通信インタフェースの間のソフトウェアバスを介するセキュアな通信経路を確立し、そして、確立された安全な通信経路を介してリアルタイムオペレーティングシステムと汎用オペレーティングシステムとの間のセキュアな通信を行うように、構成されている。
産業コンピューティング装置は、例えば、プログラマブルロジックコントローラ(PLC)であってもよい。PLCは、工場組立てラインの機械類、娯楽用乗り物、または照明設備のコントロールのような、典型的な産業電気機械のプロセスのオートメーションに使用されてもよい。
産業コンピューティング装置は、複数の、入出力装置、不揮発性メモリ、演算処理装置などを含んでもよい。GPOSおよびRTOSはそれぞれ、不揮発性メモリに格納されてもよいし、演算処理装置(例えばCPU)によって実行されてもよい。
一実施形態によれば、第1のオープンプラットフォーム通信インタフェースおよび/または第2のオープンプラットフォーム通信インタフェースは、オープンプラットフォーム通信・統合アーキテクチャの中に設けられる。
OPC統合アーキテクチャ(OPC UA)は、OPC財団によって開発された、相互運用(interoperability)のための産業用のM2M通信プロトコルを示す。OPC UAは、セキュリティを向上させ且つ情報モデルを提供しながら、プロセスコントロールのためのクロスプラットフォーム・サービス指向アーキテクチャ(SOA)に向かってオリジナルのOPC通信モデルから進む道を提供している。
さらなる一実施形態によれば、第1のオープンプラットフォーム通信インタフェースおよび/または第2のオープンプラットフォーム通信インタフェースは、パブリッシュ・サブスクライブ・インタフェースである。
ソフトウェアアーキテクチャでは、パブリッシュ−サブスクライブは、メッセージの送信者(パブリッシャーと呼ばれる)が、特定の受信者(サブスクライバーと呼ばれる)へ直接送られるようにはメッセージをプログラムせず、代わりに、どのようなサブスクライバー(もしいるなら)が存在するかの知見なしに、発信されたメッセージ(published message)をクラス分けするメッセージングパターンである。同様に、サブスクライバーは、1つ以上のクラスに対する関心を表明し、どのパブリッシャー(もしいるなら)が存在するかの知見なしに、関心があるメッセージのみを受信する。
さらなる一実施形態によれば、第1のオープンプラットフォーム通信インタフェースおよび/または第2のオープンプラットフォーム通信インタフェースは、クライアント/サーバ・インタフェースである。
さらなる一態様によれば、上記のような産業コンピューティング装置を含む産業通信システムが提案される。
そのような産業通信システムは、例えば、多数の産業コンピューティング装置のオペレーティングシステムに割り当てられている複数の異なるデバイスを統合するオートメーションシステムであってもよい。
本発明の装置を参照して記載された実施形態および特徴は、必要な変更を加えて本発明の方法へ適用され、また、逆にも適用される。
本発明のさらに可能な実施または代替案は、実施形態に関して、上記または下記の特徴の組合せ(ここでは明示的に言及されない)も包含する。当業者は、個別のまたは分離された態様および特徴を、本発明の最も基本的な形式に加えてもよい。
本発明の、さらなる実施形態、特徴および利点は、添付の図面と共に、以下の記載および従属のクレームから明らかになるであろう。
図1は、産業コンピューティング装置の模式的ブロック図を示す。 図2は、図1の産業コンピューティング装置において使用されるソフトウェアバスの構造の模式的ブロック図を示す。 図3は、図1の産業コンピューティング装置における通信の検証のための方法ステップの一例を示す。 図4は、図1の産業コンピューティング装置におけるデータの翻訳のための方法ステップの一例を示す。 図5は、図1の産業コンピューティング装置におけるローカルなデータ検索のための方法ステップの一例を示す。 図6は、図1の産業コンピューティング装置における遠隔のデータ検索のための方法ステップの一例を示す。
図において、同様の符号は、別段の指示がない限り、同様のまたは機能的に等価な要素を示す。
図1は、リアルタイムオペレーティングシステム(RTOS)10と汎用オペレーティングシステム(GPOS)20との間のセキュアな通信を行うための産業コンピューティング装置1を示す。
RTOS10およびGPOS20は、産業コンピューティング装置1(単一のコンピューティング装置として働く)の中に設けられる。ハイパーバイザ(hypervisor)とも呼ばれる仮想マシンモニタ3は、RTOS10とGPOS20とを分離(符号2によって示す)する。RTOS10はマシンネットワークと通信し、GPOS20はマシン・トゥ・マシン(M2M)のネットワークと通信する。
RTOS10は、第1のオープンプラットフォーム通信インタフェース11を含む。RTOS10は、インタフェース11を介してイーサネット13と直接通信することができ、それによって、RFIDデバイス15、温度コントローラ16、コントローラ17、またはHMIデバイス18のような、異なるデバイスと通信することができる。あるいは、インタフェース11は、コントローラファームウェア12を介してRTOS10をイーサネット14に接続してもよく、それによって、デバイス15〜18に接続してもよい。
GPOS20は、第2のオープンプラットフォーム通信インタフェース21を含む。GPOS20は、インタフェース21を介してイーサネット22と直接通信することができ、それによって、HMIデバイス23、企業資源計画(Enterprise−Resource−Planning (ERP))デバイス24、製造実行システム(manufacturing execution systems (MES))25またはクラウドシステム26のような、異なるデバイスと通信することができる。
第1および第2のオープンプラットフォーム通信(OPC)インタフェース11および21は、オープンプラットフォーム通信・統合アーキテクチャ(OPC−UA)としての1つのインタフェース4として実装されてもよい。OPC UA4自体は、2つのオペレーティングシステム10,20を1つのものとして扱ってもよい。M2Mネットワーク側のユーザは、GPOS側の1つのOPC(すなわちGPOSのOPC−UA21)のみと対話するであろう。逆に、マシンネットワーク側のユーザは、マシンネットワーク側の1つのOPC(すなわちRTOSのOPC−UA11)のみと対話するであろう。
RTOS10とGPOS20との間でデータを交換するために、仮想マシンモニタ3は、ソフトウェアバス5を介した通信経路を確立することができる。
ユーザが、M2MネットワークからRTOS10の要素(element)と対話することを望む場合、その命令は、接続を容易にするプロトコルを介してOPC−UA21に与えられるであろう。この実施形態において、接続は、イーサネットネットワーク22を介したイーサネット接続であるが、それには限定されない。OPC−UA21は、ソフトウェアバス5を介してOPC−UA11と通信するであろう。
ソフトウェアバス5の構造の模式的ブロック図を、図2に示す。
ソフトウェアバス5は、2つのプロトコル、すなわちパラレルデータバス(Pbus)33およびリクエスト/レスポンス・デュアルバス(RRBus)36、を実装する。
OPC−UA11は、証明書を使用して、RRBus36を介するセキュアにされた接続をセットアップしてもよい。ひとたびセットアップされると、OPC−UA11は、Pbus33のセキュアにされた接続35を介して、リクエストをOPC−UA21に渡すであろう。同様に、レスポンスは、Pbus33のこのセキュアにされた接続34を介して返されるであろう。
リクエストおよびレスポンスは、GPOS20側ではソフトウェアバス・クライアントインタフェース31を介して、および、RTOS10側ではソフトウェアバス・サーバインタフェース32を介して、扱われてもよい。
データのリクエストおよび検索の異なる筋道について、図3〜6を参照して、以下に記載することとする。なお、以下では、プロセスは、GPOS20からスタートしてRTOS10からデータを検索するように記載されるが、記載されたステップを逆にすることも可能である。
最初に、GPOS20とRTOS10との間の接続が、図3に示すように確立されるであろう。
ステップS1において、接続のリクエストは、OPC−UA21からソフトウェアバス・クライアントインタフェース31に供給される。ステップS2において、このリクエストは、ソフトウェアバス・クライアントインタフェース31からソフトウェアバス・サーバインタフェース32へ、ソフトウェアバス5を介して転送される。ソフトウェアバス5は、リクエストを検証する、すなわち、ステップS3において、情報および添付された証明書を確証してもよい。
ステップS4において、レスポンスは、ソフトウェアバス・サーバインタフェース32からソフトウェアバス・クライアントインタフェース31に送られ、その後、ステップS5において、OPC−UA21に転送される。
ステップS6において、ソフトウェアバス・サーバインタフェース32からのレスポンスは、OPC−UA21で検証されてもよく、接続(すなわちセキュアな通信のための通信経路)が確立される。
図4では、データの翻訳(サブスクリプションとも呼ばれる)を開始するための方法ステップが記載される。
ステップS10において、サブスクリプションを開始するためのリクエストが、OPC−UA21からソフトウェアバス・クライアントインタフェース31に供給される。ステップS11において、このリクエストは、ソフトウェアバス・クライアントインタフェース31からソフトウェアバス・サーバインタフェース32に、ソフトウェアバス5を介して転送される。ステップS12において、ソフトウェアバス・サーバインタフェース32は、OPC−UA11にリクエストを転送する。
続いて、ステップS13において、リクエストされたデータは、サブスクライブされ、Pbus33にマッピングされる。これは、リクエストされたデータが、GPOS20の言語に翻訳され、次に、Pbus33中の位置がデータにマッピングされることを意味する。任意の前のステップS18において、データはOPC−UA11において検索されてもよい。
サブスクライブされたデータの位置を示すレスポンスは、ステップS14において、OPC−UA11から送られ、ステップS15において、ソフトウェアバス・サーバインタフェース32からソフトウェアバス・クライアントインタフェース31に送られ、その後、ステップS16において、OPC−UA21に転送される。
ステップS17において、サブスクライブされたデータは、OPC−UA21においてPbus33から検索されてもよい。
図5では、データのローカルな検索のための方法ステップが記載される。
ステップS20において、検索されるデータ(すなわちユーザによってリクエストされたデータ)がサブスクライブされた形式で既に入手可能であるかどうかが、OPC−UA21においてチェックされる。
それがそうである場合、ステップS21において、上記のPbus33中の位置からデータを検索することができる。
リクエストされたデータがサブスクライブされた形式で入手可能ではない場合、ステップS22において、データを検索するリクエストが、OPC−UA21からソフトウェアバス・クライアントインタフェース31に与えられる。ステップS23において、このリクエストは、ソフトウェアバス5を介してソフトウェアバス・クライアントインタフェース31からソフトウェアバス・サーバインタフェース32に転送される。ステップS24において、ソフトウェアバス・サーバインタフェース32は、OPC−UA11にリクエストを転送する。
続いて、ステップS25において、リクエストされたデータは、OPC−UA11によって、ローカルにRTOSから検索される。
検索データを含むレスポンスは、ステップS26において、OPC−UA11からソフトウェアバス・サーバインタフェース32に送られ、ステップS27において、ソフトウェアバス・サーバインタフェース32からソフトウェアバス・クライアントインタフェース31に送られ、その後、ステップS28において、OPC−UA21に転送される。
リクエスト時にRTOS10でデータが入手可能でない場合、図6に示されるステップS25aおよびS25b(図5の方法とはステップ25、25a、25bのみが異なる)において、OPC−UA11は、適切なプロトコル(限定されないが例えばEtherCATまたはEtherNet/IP)を介して、接続されている遠隔デバイス40から情報を集めるであろう。
データがひとたびOPC−UA11に返されると、OPC−UA11は、図5に記載されるように、RRbus36を介してOPC−UA21にレスポンスデータを転送するであろう。
ここに記載された産業コンピューティング装置1および方法を使用して、1つの単一コンピューティング装置に含まれる異なるオペレーティングシステム間のセキュアな通信を提供することが可能である。
本発明は好ましい実施形態に従って記載されたが、すべての実施形態において変更が可能であることは当業者に明らかである。
1 産業コンピューティング装置
2 分離
3 仮想マシンモニタ
4 OPC−UA
5 ソフトウェアバス
10 RTOS
11 OPC−UA
12 コントローラファームウェア
13、14、22 イーサネット
15 RFIDデバイス
16 温度コントローラ
17 コントローラ
18、23 HMIデバイス
20 GPOS
21 OPC−UA
24 ERP
25 MES
26 クラウドシステム
31 ソフトウェアバス・クライアントインタフェース
32 ソフトウェアバス・サーバインタフェース
33、34、35 パラレルデータバス
36 リクエスト・レスポンス・バス
S1〜S6、S10〜S18、S20〜S28 方法ステップ

Claims (14)

  1. リアルタイムオペレーティングシステム(10)と汎用オペレーティングシステム(20)との間のセキュアな通信を行う方法であって、前記リアルタイムオペレーティングシステム(10)および前記汎用オペレーティングシステム(20)は、単一のコンピューティング装置(1)の中に設けられ且つ仮想マシンモニタ(3)によって分離されており、前記リアルタイムオペレーティングシステム(10)は第1のオープンプラットフォーム通信インタフェース(11)を含み、前記汎用オペレーティングシステム(20)は第2のオープンプラットフォーム通信インタフェース(21)を含み、前記方法は、
    前記第1または第2のオープンプラットフォーム通信インタフェース(11,21)を介して、ユーザから、前記汎用オペレーティングシステム(20)から前記リアルタイムオペレーティングシステム(10)のデータにアクセスする、または、前記リアルタイムオペレーティングシステム(10)から前記汎用オペレーティングシステム(20)のデータにアクセスするリクエストを前記仮想マシンモニタ(3)で受信すること、
    前記リクエストに従って前記第1および第2のオープンプラットフォーム通信インタフェース(11,21)の間のソフトウェアバス(5)を介するセキュアな通信経路を確立すること、および、
    前記データにアクセスするための前記確立されたセキュアな通信経路を介して、前記リアルタイムオペレーティングシステム(10)と前記汎用オペレーティングシステム(20)との間のセキュアな通信を行うこと、を含む、方法。
  2. 前記セキュアな通信は、証明書および/または署名を使用する通信である、請求項に記載の方法。
  3. 前記セキュアな通信は暗号化通信である、請求項1または2に記載の方法。
  4. 前記リアルタイムオペレーティングシステム(10)の前記データまたは前記汎用オペレーティングシステム(20)の前記データは、前記ソフトウェアバス(5)を介して、サブスクライブされたデータとして入手可能である、請求項1〜のいずれか1項に記載の方法。
  5. 前記データにアクセスするための前記セキュアな通信は、アクセスされる前記データが属する前記リアルタイムオペレーティングシステム(10)または前記汎用オペレーティングシステム(20)へのアクセスなしで、前記サブスクライブされたデータへのダイレクトアクセスとして行われる、請求項に記載の方法。
  6. 前記リアルタイムオペレーティングシステム(10)の前記データまたは前記汎用オペレーティングシステム(20)の前記データは、前記リアルタイムオペレーティングシステム(10)または前記汎用オペレーティングシステム(20)で入手可能である、請求項1〜のいずれか1項に記載の方法。
  7. 前記データにアクセスするための前記セキュアな通信は、アクセスされる前記データが属する前記リアルタイムオペレーティングシステム(10)または前記汎用オペレーティングシステム(20)、へのアクセスとして行われる、請求項に記載の方法。
  8. 前記データにアクセスするための前記確立されたセキュアな通信経路を介して前記リアルタイムオペレーティングシステム(10)と前記汎用オペレーティングシステム(20)との間の前記セキュアな通信を行うことは、
    アクセスされる前記データが属する前記リアルタイムオペレーティングシステム(10)または汎用オペレーティングシステム(20)に接続されているデバイスから前記データを検索すること、および、
    アクセスされる前記データが属する前記リアルタイムオペレーティングシステム(10)または前記汎用オペレーティングシステム(20)を介して前記データにアクセスすること、を含む、請求項1〜のいずれか1項に記載の方法。
  9. 少なくとも1つのコンピュータ上で実行されたときに請求項1〜のいずれか1項に記載の方法を実施するためのプログラムコードを含む、コンピュータプログラム。
  10. リアルタイムオペレーティングシステム(10)と汎用オペレーティングシステム(20)との間のセキュアな通信を行うための産業コンピューティング装置であって、前記産業コンピューティング装置は、
    単一のコンピューティング装置としての前記産業コンピューティング装置に設けられたリアルタイムオペレーティングシステム(10)および汎用オペレーティングシステム(20)と、
    前記リアルタイムオペレーティングシステム(10)と前記汎用オペレーティングシステム(20)とを分離するための仮想マシンモニタ(3)であって、前記リアルタイムオペレーティングシステム(10)は第1のオープンプラットフォーム通信インタフェース(11)を含み前記汎用オペレーティングシステム(20)は第2のオープンプラットフォーム通信インタフェース(21)を含む、仮想マシンモニタ(3)と、を含み、
    前記仮想マシンモニタ(3)は、前記第1または第2のオープンプラットフォーム通信インタフェース(11,21)を介して、ユーザから、前記汎用オペレーティングシステム(20)から前記リアルタイムオペレーティングシステム(10)のデータにアクセスする、または、前記リアルタイムオペレーティングシステム(10)から前記汎用オペレーティングシステム(20)のデータにアクセスするリクエストを受信し、前記リクエストに従って前記第1および第2のオープンプラットフォーム通信インタフェース(11,21)の間のソフトウェアバス(5)を介するセキュアな通信経路を確立し、そして、前記確立されたセキュアな通信経路を介して前記リアルタイムオペレーティングシステム(10)と前記汎用オペレーティングシステム(20)との間のセキュアな通信を行うように構成されている、装置。
  11. 前記第1のオープンプラットフォーム通信インタフェース(11)および/または前記第2のオープンプラットフォーム通信インタフェース(21)は、オープンプラットフォーム通信・統合アーキテクチャの中に設けられる、請求項10に記載の装置。
  12. 前記第1のオープンプラットフォーム通信インタフェース(11)および/または前記第2のオープンプラットフォーム通信インタフェース(21)は、パブリッシュ・サブスクライブ・インタフェースである、請求項10または11に記載の装置。
  13. 前記第1のオープンプラットフォーム通信インタフェース(11)および/または前記第2のオープンプラットフォーム通信インタフェース(21)は、クライアント/サーバ・インタフェースである、請求項1012のいずれか1項に記載の装置。
  14. 請求項1013のいずれか1項に記載の産業コンピューティング装置を含む産業通信システム。
JP2018566468A 2016-07-08 2017-02-28 セキュアな通信を行う方法および産業コンピューティング装置 Active JP6766895B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16178608.2 2016-07-08
EP16178608.2A EP3267649B1 (en) 2016-07-08 2016-07-08 Method and industrial computing apparatus for performing a secure communication
PCT/JP2017/007633 WO2018008187A1 (en) 2016-07-08 2017-02-28 Method and industrial computing apparatus for performing a secure communication

Publications (2)

Publication Number Publication Date
JP2019523951A JP2019523951A (ja) 2019-08-29
JP6766895B2 true JP6766895B2 (ja) 2020-10-14

Family

ID=56615822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018566468A Active JP6766895B2 (ja) 2016-07-08 2017-02-28 セキュアな通信を行う方法および産業コンピューティング装置

Country Status (5)

Country Link
US (1) US11140137B2 (ja)
EP (1) EP3267649B1 (ja)
JP (1) JP6766895B2 (ja)
CN (1) CN109417552B (ja)
WO (1) WO2018008187A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11880185B2 (en) 2018-06-04 2024-01-23 Nordson Corporation Systems and methods for liquid dispensing system communications
EP3611642B1 (en) 2018-08-17 2020-08-12 Omron Corporation Method for operating an industrial pc device and industrial pc device
CN110858845A (zh) * 2018-08-22 2020-03-03 株式会社日立制作所 一种数据订阅方法及互操作代理应用实体
US11537112B2 (en) 2019-06-10 2022-12-27 Fisher-Rosemount Systems, Inc. Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
US11099911B1 (en) 2019-07-01 2021-08-24 Northrop Grumman Systems Corporation Systems and methods for inter-partition communication
EP3767922B1 (en) * 2019-07-17 2023-11-08 ABB Schweiz AG Method of channel mapping in an industrial process control system
CN110727461A (zh) * 2019-10-12 2020-01-24 深圳市芯智科技有限公司 一种用于显示器的移植实时操作系统的方法
EP3809262B1 (en) * 2019-10-15 2023-11-29 Omron Corporation Method for configuring a hypervisor and industrial pc
EP3952201A1 (en) * 2020-08-07 2022-02-09 ABB Schweiz AG Trust establishment through certificate management in open platform communications unified architecture

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1503286B1 (en) 2003-07-30 2014-09-03 Jaluna SA Multiple operating system networking
JP4359182B2 (ja) 2004-04-26 2009-11-04 株式会社日立製作所 計算機処理装置およびインタフェース機構
US7788668B2 (en) * 2005-06-09 2010-08-31 Lockheed Martin Corporation System and method for implementing distributed priority inheritance
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
US10026255B2 (en) * 2006-04-13 2018-07-17 Igt Presentation of remotely-hosted and locally rendered content for gaming systems
JP2010514028A (ja) * 2006-12-22 2010-04-30 バーチャルロジックス エスエイ 単一データ処理を共有するために複数の実行環境を有効化するシステム
EP2075696A3 (en) * 2007-05-10 2010-01-27 Texas Instruments Incorporated Interrupt- related circuits, systems and processes
US9100361B1 (en) * 2008-04-25 2015-08-04 Lockheed Martin Corporation Secure routing module
US8782258B2 (en) 2011-01-04 2014-07-15 Motorola Mobility Llc Transferring web data between operating system environments
JP2012205292A (ja) 2011-03-28 2012-10-22 Fuji Xerox Co Ltd 情報処理装置及びプログラム
CN103136052A (zh) * 2011-11-25 2013-06-05 展讯通信(上海)有限公司 移动终端及安装有多个操作系统的移动终端的控制方法
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
US20150355946A1 (en) * 2014-06-10 2015-12-10 Dan-Chyi Kang “Systems of System” and method for Virtualization and Cloud Computing System
EP3175307B1 (de) 2014-09-25 2019-09-04 Siemens Aktiengesellschaft Bereitstellen von prozesswerten in einer prozessanlage
US10178177B2 (en) * 2015-12-08 2019-01-08 Honeywell International Inc. Apparatus and method for using an internet of things edge secure gateway

Also Published As

Publication number Publication date
US11140137B2 (en) 2021-10-05
US20190124050A1 (en) 2019-04-25
EP3267649B1 (en) 2019-02-13
CN109417552A (zh) 2019-03-01
JP2019523951A (ja) 2019-08-29
CN109417552B (zh) 2021-07-20
EP3267649A1 (en) 2018-01-10
WO2018008187A1 (en) 2018-01-11

Similar Documents

Publication Publication Date Title
JP6766895B2 (ja) セキュアな通信を行う方法および産業コンピューティング装置
EP3512155A1 (en) Method and system for providing secure access to artifacts in a cloud computing environment
US11665015B2 (en) Method and control system for controlling and/or monitoring devices
EP3391616B1 (en) Device management with tunneling
US10868743B2 (en) System and method for providing fast platform telemetry data
US11615007B2 (en) Method and control system for controlling and/or monitoring devices
EP2378741B1 (en) Systems and Methods for Conducting Communications Among Components of Multidomain Industrial Automation System
WO2013191802A2 (en) Provisioning of a virtual machine by using a secured zone of a cloud environment
US11412047B2 (en) Method and control system for controlling and/or monitoring devices
US20220311661A1 (en) System and method for automated information technology services management
US20150371327A1 (en) System for dynamically selecting a communications fabric
US11231958B2 (en) Method and control system for controlling and/or monitoring devices
Beňo et al. Processing data from OPC UA server by using Edge and Cloud computing
US11032073B2 (en) Seamless abort and reinstatement of TLS sessions
EP2942711B1 (en) Dynamic generation of proxy connections
WO2015117380A1 (zh) 一种远程桌面协议网关进行路由交换的方法、设备及系统
Çapa et al. Rapid PLC-to-Cloud Prototype for Smart Industrial Automation
US11025728B2 (en) Methods for facilitating secure connections for an operating system kernel and devices thereof
US20230179667A1 (en) Method and system for transmitting software artifacts from a source network to a target network
Suciu et al. IoT platform for personal data protection
Sinha et al. Creating Smart Gateway
US20240129306A1 (en) Service to service communication and authentication via a central network mesh
JP6275276B2 (ja) サーバー装置、クライアント装置、サーバー装置プログラム、セッション管理方法、及びクライアントサーバーシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200831

R150 Certificate of patent or registration of utility model

Ref document number: 6766895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150