JP6610639B2 - ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム - Google Patents

ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム Download PDF

Info

Publication number
JP6610639B2
JP6610639B2 JP2017193803A JP2017193803A JP6610639B2 JP 6610639 B2 JP6610639 B2 JP 6610639B2 JP 2017193803 A JP2017193803 A JP 2017193803A JP 2017193803 A JP2017193803 A JP 2017193803A JP 6610639 B2 JP6610639 B2 JP 6610639B2
Authority
JP
Japan
Prior art keywords
software
control
update
key data
network
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
JP2017193803A
Other languages
English (en)
Other versions
JP2019067264A (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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2017193803A priority Critical patent/JP6610639B2/ja
Priority to CN201810271969.0A priority patent/CN109597633B/zh
Priority to US15/962,423 priority patent/US10664263B2/en
Priority to DE102018206439.3A priority patent/DE102018206439A1/de
Publication of JP2019067264A publication Critical patent/JP2019067264A/ja
Application granted granted Critical
Publication of JP6610639B2 publication Critical patent/JP6610639B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • 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
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Programmable Controllers (AREA)

Description

開示の実施形態は、ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラムに関する。
特許文献1には、ユーザ工場に設置された機器を制御するコントローラに記憶されているソフトウェアを、インターネットを介してベンダー側の管理装置から受信した修正ソフトウェアに更新する保守装置が開示されている。
特開2003−029819号公報
しかしながら、近年ではセキュリティ上の配慮から、工場内のネットワークをインターネットに直接接続することが禁止される場合が多くあり、上記従来技術のように外部の管理装置から工場内の保守装置を介して直接的に各コントローラへソフトウェアをダウンロード及び更新することができない。
本発明はこのような問題点に鑑みてなされたものであり、外部接続しない制御システムに対しても制御用ソフトウェアを安全かつ容易に更新できるソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラムを提供することを目的とする。
上記課題を解決するため、本発明の一の観点によれば、 第1のネットワークに接続され、更新可能な制御用ソフトウェアの処理によって制御する制御装置又はセンサを備えた制御システムと、前記制御用ソフトウェアを格納し、第2のネットワークを介して前記制御用ソフトウェアを送信するソフトウェア配信装置と、前記第1のネットワークと前記第2のネットワークの間の物理的な遮断状態を常に維持しつつ、前記第2のネットワークに接続した状態では前記ソフトウェア配信装置から前記制御用ソフトウェアを受信して格納し、前記第1のネットワークに接続した状態では格納した前記制御用ソフトウェアを前記制御装置又は前記センサに送信して更新させるソフトウェア更新装置と、を有するソフトウェア管理システムであって、前記ソフトウェア配信装置は、所定のキーデータに基づいて暗号化した前記制御用ソフトウェア及び対応する前記キーデータを送信し、前記ソフトウェア更新装置は、前記ソフトウェア配信装置から前記第2のネットワークを介して暗号化された前記制御用ソフトウェア及び対応する前記キーデータを受信する受信部と、受信した前記キーデータを出力する出力部と、を有し、前記出力部は、前記制御用ソフトウェアと前記キーデータを受信した際のログイン中の間だけ当該キーデータを出力し、当該ログインの終了後には当該キーデータを消去するソフトウェア管理システムが適用される。
また、本発明の別の観点によれば、所定のキーデータに基づいて暗号化された制御用ソフトウェア及び対応する前記キーデータを第2のネットワークから受信する受信部と、前記受信部で受信した前記キーデータを出力する出力部と、前記キーデータに基づいて復号化した前記制御用ソフトウェアを、前記第2のネットワークから物理的な遮断状態を常に維持された第1のネットワークを介して制御装置又はセンサに更新させる更新部と、を有し、前記出力部は、前記制御用ソフトウェアと前記キーデータを受信した際のログイン中の間だけ当該キーデータを出力し、当該ログインの終了後には当該キーデータを消去するソフトウェア更新装置が適用される。
また、本発明の別の観点によれば、ソフトウェア更新装置に実行させるソフトウェア更新方法であって、暗号化された前記制御用ソフトウェア及び対応する前記キーデータを前記第2のネットワークを介して受信することと、受信した前記キーデータを出力することと、キーデータを入力することと、入力された前記キーデータに基づいて受信した前記制御用ソフトウェアを復号化することと、復号化した前記制御用ソフトウェアを前記第1のネットワークを介して前記制御装置又は前記センサに更新させることと、を実行させるソフトウェア更新方法が適用される。
また、本発明の別の観点によれば、ソフトウェア更新装置が備える演算装置に実行させるソフトウェア更新プログラムであって、暗号化された前記制御用ソフトウェア及び対応する前記キーデータを前記第2のネットワークを介して受信することと、受信した前記キーデータを出力することと、キーデータを入力することと、入力された前記キーデータに基づいて受信した前記制御用ソフトウェアを復号化することと、復号化した前記制御用ソフトウェアを前記第1のネットワークを介して前記制御装置又は前記センサに更新させることと、を実行させるソフトウェア更新プログラムが適用される。
本発明によれば、外部接続しない制御システムに対しても制御用ソフトウェアを安全かつ容易に更新できる。
実施形態に係るソフトウェア管理システムの概略構成を表す機能ブロック図である。 クラウドサーバの内部構成を表すシステムブロック図である。 更新装置の内部構成を表すシステムブロック図である。 制御用ソフトウェアをダウンロードする処理工程のシーケンスチャートである。 制御用ソフトウェアを更新する処理工程のシーケンスチャートである。 フィールドネットワークに接続している制御機器のソフトウェア更新情報をクラウドサーバにアップロードする処理工程のシーケンスチャートである。 ログイン履歴データベースの登録内容とその表示の一例を示す図である。 変形例に係るソフトウェア管理システムの概略構成を表す機能ブロック図である。
以下、実施の形態について図面を参照しつつ説明する。
<ソフトウェア管理システムの概略構成>
図1は、本発明の一実施形態であるソフトウェア管理システムの概略構成を表す機能ブロック図である。
本実施形態のソフトウェア管理システムは、生産工場内の機械設備が備える各制御機器の制御用ソフトウェアに対して、その上位版(版数の新しいもの)をクラウドサーバからインターネットを介して配信し、更新管理を行うシステムである。
図1において、ソフトウェア管理システム1は、機械設備2と、クラウドサーバ3と、更新装置4とを有している。なお、この図1においては、上記各構成部間で情報信号を送受する信号線の接続を示しており、それぞれの内部構成については後に詳述する。以下、上記の各構成部について概略的に説明する。
機械設備2(制御システム)は、図示する例では複数のモータで駆動制御する生産機械などであり、1台の上位制御装置21と、複数のモータ制御装置22と、各モータ制御装置22にそれぞれ接続されるモータ23及びエンコーダ24と、各モータ制御装置22と各エンコーダ24とを接続する後述フィールドネットワークにさらに直列接続される複数の外部センサ25(図中では「センサ」と略記)とを有している。
上位制御装置21は、当該機械設備2が備える複数のモータ23を協調制御させるために、各モータ制御装置22から各種の状態情報を受信しつつ、それら状態情報に基づいて各モータ制御装置22に対し個別に制御指令を送信する機能を有している。なお、上位制御装置21は、機械制御用に特化したいわゆるフィールドネットワーク26a(第1のネットワーク;例えばMECHATROLINK(登録商標))を介して各モータ制御装置22と情報送受可能に接続されている。また、この上位制御装置21は、後述の更新装置4との間でケーブル(図示する例ではUSBケーブル27)介して接続することで情報送受可能となっている。
モータ制御装置22は、エンコーダ24及び外部センサ25から各種の状態情報を受信しつつ、それら状態情報と上位制御装置21から受信した制御指令に基づいてモータ23を制御するための駆動電力を給電する機能を有している。またモータ制御装置22は、受信した状態情報を上位制御装置21に対しても送信する。なお、モータ制御装置22は、状態情報の送受に特化したフィールドネットワーク26b(第1のネットワーク;図示する例ではΣ−LINK(登録商標))を介してエンコーダ24及び外部センサ25から情報受信可能に接続されている。なお、上記の上位制御装置21とモータ制御装置22とが、各請求項に記載の制御装置に相当し、エンコーダ24及び外部センサ25が各請求項に記載のセンサに相当する。また、このモータ制御装置22は、後述の更新装置4との間でケーブル(例えばUSBケーブル)介して接続することで情報送受可能となっている(特に図示せず)。
クラウドサーバ3(ソフトウェア配信装置)は、上記機械設備2に備えられた上位制御装置21、モータ制御装置23、エンコーダ24、及び外部センサ25などの各種制御機器のメーカー側に設けられたサーバであり、インターネット5などの広域ネットワーク(第2のネットワーク)を介して生産工場6に情報送受可能に接続されている。このクラウドサーバ3は、上記の各制御機器に格納されてその制御を行う制御用ソフトウェア(図中では「ソフトウェア」と略記)の上位改良版を保存しており、それらの配信(以下、ダウンロードという)及び更新情報等を管理する機能を有している。なお、このクラウドサーバ3の内部構成については後に詳述する(後述の図2参照)。
更新装置4(ソフトウェア更新装置)は、図示する例では運搬移動が容易なノート型の汎用パーソナルコンピュータ(以下、ノートPCという)で構成されており、そのOS(Operating System)上で作動させるツールアプリケーション(ソフトウェア更新プログラム)によって制御用ソフトウェア及び機器情報に関する各種の処理を実行する機能を有している。この更新装置4は、上記USBケーブル27を介した上位制御装置21との接続と、USBケーブルを介したモータ制御装置22との接続(図示省略)と、インターネット5を介したクラウドサーバ3との接続が可能となっている。なお、この更新装置4で作動させるツールアプリケーションの処理構成については後に詳述する(後述の図3参照)。
<本実施形態の特徴>
上述したようにファクトリーオートメーションにおける機械設備2では、いわゆるフィールドネットワーク26,26a,26bで接続された各種の制御装置(上位制御装置21やモータ制御装置22等を含む)及び各種のセンサが協調動作する制御システムとして構成されるものが多い。これらの制御装置やセンサはそれぞれ格納した制御用ソフトウェアの処理によって制御されるものであり、さらにそれらの制御用ソフトウェアは改良された上位版のものを上記フィールドネットワーク26を介して受信し更新可能となっている。そして近年では、各制御装置やセンサのメーカー側で用意したクラウドサーバ3に上位版の制御用ソフトウェアが格納され、ユーザがインターネット5を介してダウンロードすることが可能となっている。
一方、機密情報の漏洩防止やサイバー攻撃対策などのセキュリティ上の配慮から、上記のフィールドネットワーク26をインターネット5に直接接続することが禁止され常に遮断状態が維持される場合が多く、この場合には上記クラウドサーバ3から各制御装置やセンサへの直接的な制御用ソフトウェアのダウンロードと更新ができない。
これに対して本実施形態では、インターネット5に接続した状態ではクラウドサーバ3から制御用ソフトウェアを受信して格納し、フィールドネットワーク26に接続した状態では格納した制御用ソフトウェアを制御装置又はセンサに送信して更新させる更新装置4を備えている。この更新装置4を、例えば上述したようにノートPCなどのような運搬移動可能な1台の情報端末で構成した場合には、インターネット5に接続した状態で上記クラウドサーバ3から必要な制御用ソフトウェアの上位版をダウンロードする。その後に、更新装置4をインターネット5の接続から外して、別途USBケーブル27と上位制御装置21、またはUSBケーブルとモータ制御装置22(図示省略)を介してフィールドネットワーク26に交換接続し直した状態で制御用ソフトウェアを各制御装置やセンサに送信し、更新させる。このように、更新装置4をインターネット5とフィールドネットワーク26の間で交換接続させることで、2つのネットワーク間の物理的な遮断状態を常に維持しつつダウンロードした制御用ソフトウェアで更新させることができる。以上のソフトウェア管理に必要な構成と手順について、以下順に説明する。
<クラウドサーバの詳細構成>
上記クラウドサーバ3の内部構成を表すシステムブロック図を図2に示す。この図2において、クラウドサーバ3は、インターネット5に接続する処理部31と、各種の制御用ソフトウェアを格納するソフトウェア格納部32と、ログイン履歴を記憶するログイン履歴データベース33とを有している。
処理部31は、当該クラウドサーバ3にログインしたユーザからの操作に対応し、上記ソフトウェア格納部32に格納されている制御用ソフトウェアを暗号化してダウンロードする処理や、当該ログイン中に送受された情報を上記ログイン履歴データベース33に登録する処理を実行する機能を有する。この処理部31は、ログイン認証部34と、ログイン履歴管理部35と、ソフトウェア管理部36と、ライセンスキー発行部37と、暗号化部38と、サーバ情報送受信部39とを有している。
ログイン認証部34は、インターネット5を介してアクセスしてきた外部端末(この例では更新装置4)に対し、そこから受信したアカウント情報(例えばアカウント名及びパスワード等)を照合判定することでログインの許可を認証するよう機能する。
ログイン履歴管理部35は、上記ログイン認証部34でログイン認証されたログインアカウントに対応して、当該ログインの日時やその間に行われた操作内容、送受した情報等の履歴を上記ログイン履歴データベース33に登録し、管理するよう機能する。
ソフトウェア管理部36は、上記ソフトウェア格納部32に対する制御用ソフトウェアの格納と取得を管理するよう機能する。具体的には、ログイン認証された外部端末からのダウンロード要求に対応した制御用ソフトウェアを取得する処理を実行する。また、このソフトウェア管理部36は、当該クラウドサーバ3の運用者(メーカー側の管理者;特に図示せず)からアップロードされた制御用ソフトウェアをソフトウェア格納部32に格納する処理も実行する。このとき格納する制御用ソフトウェアは暗号化されていないものであり、その版数は最新版のものだけを格納してもよいし、もしくは異なる版数のものを複数個別に格納してもよい。
ライセンスキー発行部37は、外部端末からダウンロード要求を受信する度に個別にライセンスキー(キーデータ)を発行するよう機能する。このライセンスキーは、例えば所定文字数(後述の図7に示す例では8文字)でランダムに選ばれた大文字、小文字を含む英数字のテキストデータ等で自動的に生成される。
暗号化部38は、上記ソフトウェア管理部36が外部端末からのダウンロード要求に対応して取得した制御用ソフトウェアに対し、上記ライセンスキー発行部37で発行されたライセンスキーを暗号キー(キーデータ)として暗号化するよう機能する。この暗号化処理においては、ライセンスキーについて、単に復号化時に要求するパスワードとして利用してもよいし、ライセンスキーのデータ内容を反映した暗号化処理を行ってもよい。
サーバ情報送受信部39は、インターネット通信のプロトコルに準拠して、上記のアカウント情報、ログイン中の操作情報、及び後述のソフトウェア更新(機器情報)等をインターネット5を介して外部端末から受信するよう機能するとともに、上記の暗号化された制御用ソフトウェア及びライセンスキー等をインターネット5を介してログイン認証中の外部端末へ送信するよう機能する。
なお、以上の各機能部を利用した処理部31の具体的な処理工程については、後に詳述する(後述の図4、図6参照)。
<更新装置の詳細構成>
上記更新装置4の内部構成を表すシステムブロック図を図3に示す。この図3に示す例において、更新装置4は上述したように汎用のノートPCで構成されており、そのOS上で作動させるツールアプリケーション41によって制御用ソフトウェア及び機器情報に関する各種の処理を実行する。この更新装置4で作動させるツールアプリケーション41は、インターネット情報送受信部42と、ログイン申請部43と、ライセンスキー表示部44と、ライセンスキー入力部45と、復号化部46と、USB情報送受信部47の各ソフトウェアブロックを有している。
インターネット情報送受信部42(受信部)は、インターネット通信のプロトコルに準拠して、アカウント情報、ログイン中の操作情報、及び後述のソフトウェア更新情報等をインターネット5を介してクラウドサーバ3へ送信するよう機能するとともに、上記の暗号化された制御用ソフトウェア、及びライセンスキー等をインターネット5を介してログイン中のクラウドサーバ3から受信するよう機能する。なお本実施形態の例では、このインターネット情報送受信部42は、ライセンスキーを含む後述のソフトウェア更新情報をクラウドサーバ3へ送信した後には当該ソフトウェア更新情報をライセンスキーごと各種記憶装置(メモリ、HDD(Hard Disk Drive)、外部記憶装置等;特に図示せず)から消去する。
ログイン申請部43は、インターネット5を介してアクセスしたクラウドサーバ3に対し、アカウント情報を送信してログインの許可を申請するよう機能する。
ライセンスキー表示部44(出力部)は、暗号化された制御用ソフトウェアとともにクラウドサーバ3からダウンロードしたライセンスキーをディスプレイ等の表示装置(特に図示せず)に表示するよう機能する。なお本実施形態の例では、このライセンスキー表示部44は、当該ライセンスキーをダウンロードしたログイン中にだけライセンスキーを表示し、当該ログインが終了した後には当該ライセンスキーを各種記憶装置から消去する。
また本実施形態の例では、上記のインターネット情報送受信部42、ログイン申請部43、及びライセンスキー表示部44は、当該更新装置4がUSBケーブル27を介して他の制御機器と接続しておらず、かつインターネット5と接続している間にだけ機能する。
ライセンスキー入力部45(入力部)は、キーボード等の入力装置(特に図示せず)を介したユーザからのライセンスキーの入力を受け付けるよう機能する。
復号化部46は、上記インターネット情報送受信部42が受信した暗号化状態の制御用ソフトウェアに対し、上記ライセンスキー入力部45が入力を受け付けたライセンスキーに基づいて復号化するよう機能する。この復号化処理においては、上記クラウドサーバ3の暗号化部38と同じ暗号アルゴリズムに対応してライセンスキーを用いた復号化処理を行う。
USB情報送受信部47(更新部)は、USB通信のプロトコルに準拠して、上記の復号化状態の制御用ソフトウェアとその送信先情報(更新させる機器ID等)をUSBケーブル27を介して上位制御装置21へ送信するよう機能するとともに、フィールドネットワーク26に接続している各制御機器の機器情報をUSBケーブル27を介して上位制御装置21から受信するよう機能する。また、特に図示しないが、USB情報送受信部47(更新部)は、USB通信のプロトコルに準拠して、上記の復号化状態の制御用ソフトウェアとその送信先情報(更新させる機器ID等)をUSBケーブルを介してモータ制御装置22へ送信するよう機能するとともに、フィールドネットワーク26に接続している各制御機器の機器情報をUSBケーブルを介してモータ制御装置22から受信するよう機能することも可能である。なお本実施形態の例では、このUSB情報送受信部47は、復号化状態の制御用ソフトウェアを送信した後には当該制御用ソフトウェアを各種記憶装置から消去する。
また本実施形態の例では、上記のライセンスキー入力部45、復号化部46、及びUSB情報送受信部47は、当該更新装置4がインターネット5と接続しておらず、かつUSBケーブル27を介して上位制御装置21(又はモータ制御装置22)と接続している間にだけ機能する。
なお、以上の各機能部を利用したツールアプリケーション41の具体的な処理工程については、後に詳述する(後述の図4、図5、図6参照)。
また上位制御装置21については、特に図示しないが、フィールドネットワーク26(例えばMECHATROLINK(登録商標)、及びΣ−LINK(登録商標))に接続する全ての制御機器(当該上位制御装置21を含めたモータ制御装置22、エンコーダ24、及び外部センサ25)のうち指定したものに対して制御用ソフトウェアを送信しその更新シーケンスを実行させることができる。また上位制御装置21は、フィールドネットワーク26に接続する全ての制御機器のうち指定したものに対してそれぞれの機器情報を要求し、受信することができる。この機器情報としては、当該制御機器の型式やシリアル番号等がある。
またモータ制御装置22については、特に図示しないが、フィールドネットワーク26b(上記図1に示す例ではΣ−LINK(登録商標))に接続する全ての制御機器(当該モータ制御装置22を含めたエンコーダ24、及び外部センサ25)のうち指定したものに対して制御用ソフトウェアを送信しその更新シーケンスを実行させることができる。またモータ制御装置22は、フィールドネットワーク26bに接続する全ての制御機器のうち指定したものに対してそれぞれの機器情報を要求し、受信することができる。この機器情報としては、当該制御機器の型式やシリアル番号等がある。
<制御用ソフトウェアのダウンロードシーケンス>
本実施形態のソフトウェア管理システム1において制御用ソフトウェアをダウンロードする処理工程のシーケンスチャートを図4に示す。この図4に示すダウンロードシーケンスは、更新装置4がインターネット5に接続し、かつ上位制御装置21(又はモータ制御装置22)に接続していない状態で実行が開始される。なお、図中においてクラウドサーバ3及び更新装置4が実行する各処理は、それぞれが備えるCPU(演算装置)で上記の処理部31又はツールアプリケーション41の各機能部をソフトウェア的に実行することにより制御される(以降の図5、図6においても同様)。
まずステップS1で、更新装置4は、その時点でインターネット5に接続し、かつUSBケーブル27を介して上位制御装置21(又はモータ制御装置22)に接続していない状態であるかを確認する。なお、この時点で当該更新装置4がインターネット5に接続していない、もしくは上位制御装置21(又はモータ制御装置22)に接続している場合には、ユーザにエラーを報知してツールアプリケーション41の処理を終了する(特に図示せず)。
次にステップS2で、更新装置4は、上記インターネット情報送受信部42及び上記ログイン申請部43により、インターネット5を介してクラウドサーバ3にアクセスし、アカウント情報を送信してログイン申請する。
次にステップS3で、クラウドサーバ3は、上記サーバ情報送受信部39及び上記ログイン認証部34により、受信したアカウント情報を照合してログインを許可する場合には更新装置4に対してログイン認証を送信する。なお、このときログインを許可できない場合には更新装置4に対してログインエラーを送信する(特に図示せず)。
次にステップS4で、更新装置4は、上記インターネット情報送受信部42により、ユーザの操作によって所望する制御用ソフトウェアのダウンロード要求をクラウドサーバ3に対して送信する。
次にステップS5で、クラウドサーバ3は、上記ソフトウェア管理部36により、要求された制御用ソフトウェアをソフトウェア格納部32から取得する。
次にステップS6で、クラウドサーバ3は、上記ライセンスキー発行部37により、ライセンスキーを1つ発行する。
次にステップS7で、クラウドサーバ3は、上記暗号化部38により、上記ステップS5で取得した制御用ソフトウェアに対し、上記ステップS6で発行したライセンスキーに基づいて暗号化する。
次にステップS8で、クラウドサーバ3は、上記サーバ情報送受信部39により、上記ステップS7で暗号化した制御用ソフトウェアと上記ステップS6で発行したライセンスキーを更新装置4に対して送信(ダウンロード)する。
次にステップS9で、更新装置4は、上記インターネット情報送受信部42により、受信した暗号化状態の制御用ソフトウェアを記憶装置に格納する。
次にステップS10で、更新装置4は、上記ライセンスキー表示部44により、受信したライセンスキーをディスプレイ等に表示する。このとき更新装置4のユーザは、表示されたライセンスキーを別途のメモ用紙7などに手書きで書き写しておく(上記の図1、図3参照)。
次にステップS11で、更新装置4は、上記インターネット情報送受信部42により、クラウドサーバ3に対してログインの終了を送信する。
次にステップS12で、クラウドサーバ3は、ログインを終了した後、上記ログイン履歴管理部35により、これまでのログインに関するアカウント情報、操作内容、送受した情報等の履歴をログイン履歴データベース33に登録する。
次にステップS13で、更新装置4は、上記ライセンスキー表示部44により、ライセンスキーを記憶装置から消去する。これにより、ダウンロードシーケンスが終了する。
<制御用ソフトウェアの更新シーケンス>
次に本実施形態のソフトウェア管理システム1において制御用ソフトウェアを更新する処理工程のシーケンスチャートを図5に示す。この図5に示す更新シーケンスは、更新装置4がインターネット5に接続しておらず、かつUSBケーブル27を介して上位制御装置21(又はモータ制御装置22)に接続している状態で実行が開始される。なお本実施形態の例では、更新装置4が上位制御装置21に接続した場合を想定してシーケンスを説明する(以下、図6においても同様)。
まずステップS101で、更新装置4は、その時点で、USBケーブル27を介して上位制御装置21に接続し、かつインターネット5に接続していない状態であるかを確認する。なお、この時点で当該更新装置4がUSBケーブル27を介して上位制御装置21に接続していない、もしくはインターネット5に接続している場合には、ユーザにエラーを報知してツールアプリケーション41の処理を終了する(特に図示せず)。
次にステップS102で、更新装置4は、上記ライセンスキー入力部45により、キーボード等を介したユーザからのライセンスキーの入力を受け付ける。このとき更新装置4のユーザは、上記ダウンロードシーケンスのステップS10で手書きで書き写したメモ用紙7等を参照してライセンスキーを入力する(上記の図1、図3参照)。
次にステップS103で、更新装置4は、上記復号化部46により、上記ダウンロードシーケンスのステップS9で格納した暗号化状態の制御用ソフトウェアに対し、上記ステップS102で入力されたライセンスキーに基づいて復号化する。ここでライセンスキーが暗号化ソフトウェアに対応するものでない(つまり復号化できない)場合には、所定のエラー報知処理を行った後に上記ステップS102でライセンスキーの再入力を要求する。
次にステップS104で、更新装置4は、上記USB情報送受信部47により、上記ステップS103で復号化された制御用ソフトウェアをUSBケーブル27を介して上位制御装置21に送信する。このとき併せて、フィールドネットワーク26に接続されているいずれかの制御機器を当該制御用ソフトウェアの更新先として指定する。
次にステップS105で、上位制御装置21は、更新先として指定された制御機器に対し、上記ステップS104で受信した制御用ソフトウェアをフィールドネットワーク26を介して送信し更新シーケンス(制御機器における更新処理)を実行させる。
次にステップS106で、更新装置4は、上記USB情報送受信部47により、各制御機器の機器情報を送信するよう上位制御装置21に対して要求する。
次にステップS107で、上位制御装置21は、その時点でフィールドネットワーク26に接続する各制御機器からそれぞれの機器情報を取得して更新装置4に送信する。
次にステップS108で、更新装置4は、上記ステップS107で受信した機器情報と、制御用ソフトウェアの更新履歴(版数の更新経緯及びそれらの更新日時を含む)からなるソフトウェア更新結果と、ライセンスキーとを併せた全体の情報をソフトウェア更新情報として記憶装置に格納する。なお、上記のソフトウェア更新情報は各制御機器ごとに対応して生成されるものであり、そのうちのライセンスキーは各制御機器が格納している制御用ソフトウェアに対応するものが格納される。
次にステップS109では、更新装置4は、上記USB情報送受信部47により、復号化状態の制御用ソフトウェアを記憶装置から消去する(ライセンスキーはソフトウェア更新情報に含まれる形で格納された状態を維持)。これにより、更新シーケンスが終了する。
なお、上記のダウンロードシーケンスで複数の暗号化状態の制御用ソフトウェアを格納していた場合には、上記ステップS109での消去は その直前で更新された復号化状態の制御用ソフトウェアのみ消去すればよく、その他のまだ更新されていない復号化状態の制御用ソフトウェアは格納状態を維持しておく。もしくは、全ての復号化状態の制御用ソフトウェアの更新が完了した後に全て一斉に消去してもよいし、又は、当該ツールアプリケーションを終了する際に全ての復号化状態の制御用ソフトウェアを一斉に消去してもよい。
<ソフトウェア更新情報のアップロードシーケンス>
次に本実施形態のソフトウェア管理システム1において、フィールドネットワーク26に接続している制御機器のソフトウェア更新情報をクラウドサーバ3にアップロードする処理工程のシーケンスチャートを図6に示す。この図6に示すアップロードシーケンスは、上記図5に示した更新シーケンスの実行によりソフトウェア更新情報を格納した状態で、かつ、更新装置4がインターネット5に接続しておらず、かつUSBケーブル27を介して上位制御装置21に接続している状態で実行が開始される。
まずステップS201で、更新装置4は、その時点でインターネット5に接続し、かつUSBケーブル27を介して上位制御装置21に接続していない状態であるかを確認する。なお、この時点で当該更新装置4がインターネット5に接続していない、もしくは上位制御装置21に接続している場合には、ユーザにエラーを報知してツールアプリケーション41の処理を終了する(特に図示せず)。
次にステップS202で、更新装置4は、上記インターネット情報送受信部42及び上記ログイン申請部43により、インターネット5を介してクラウドサーバ3にアクセスし、アカウント情報を送信してログイン申請する。
次にステップS203で、クラウドサーバ3は、上記サーバ情報送受信部39及び上記ログイン認証部34により、受信したアカウント情報を照合してログインを許可する場合には更新装置4に対してログイン認証を送信する。なお、このときログインを許可できない場合には更新装置4に対してログインエラーを送信する(特に図示せず)。
次にステップS204で、更新装置4は、上記インターネット情報送受信部42により、上記更新シーケンスのステップS108で格納したソフトウェア更新情報をクラウドサーバ3に対して送信(アップロード)する。
次にステップS205で、クラウドサーバ3は、上記サーバ情報送受信部39及び上記ログイン履歴管理部35により、受信したソフトウェア更新情報を当該ログインのアカウント情報と対応させてログイン履歴データベース33に登録する(後述の図7参照)。
次にステップS206で、更新装置4は、上記インターネット情報送受信部42により、ソフトウェア更新情報を記憶装置から消去する。
次にステップS207で、更新装置4は、上記インターネット情報送受信部42により、クラウドサーバ3に対してログインの終了を送信する。これにより、アップロードシーケンスが終了する。
<ログイン履歴データベースの登録内容例>
上記ダウンロードシーケンスのステップS12、及び上記アップロードシーケンスのステップS205で登録されるログイン履歴データベース33の登録内容とその表示の一例を図7に模式的に示す。この図7に示す例の登録内容では、その全体が1つの生産工場6(上記図1参照)ごとに対応して作成されるものであり、当該生産工場6の関係者として認められたログインユーザだけがこの登録内容にアクセスし、閲覧、更新することができる。この例の登録内容の表示は、それまでに行われたログイン操作の時系列順を表す「No.」にそれぞれ対応して「ログイン日時」、「ログインユーザ」、「機器型式」、「ソフトウェアバージョン(版数)」、「ライセンスキー」、「ダウンロード日」、及び「更新日」の各項目情報が登録されている。
このようにログイン履歴データベース33には、クラウドサーバ3へのログインに関連する情報とともに、ユーザが使用している機械設備2やその制御用ソフトウェアに関する情報等も登録されることで、その登録内容情報は機械設備2の履歴に関するいわゆるトレーサビリティ情報としても利用できる。特に図示しないが、更新装置4のユーザは、クラウドサーバ3にログインした状態であれば任意のタイミングで上記のトレーサビリティ情報を設定された範囲(生産工場6全体、もしくは機械設備単位、等)で閲覧することができ、各制御機器の更新状態を確認したりライセンスキーの再取得などが可能となる。
なお図示するログイン履歴データベース33の例では、複数の異なるユーザがそれぞれ個別に付与されたログインアカウントでログイン可能であって、そのアカウントに対応したログイン操作基準での登録内容の表示となっているが、これに限られない。他にもログイン履歴管理部35の設定次第で、ユーザ別に対応して登録、表示したり、全ての制御機器の型式を一覧できるテーブル基準で登録、表示してもよい。
<本実施形態による効果>
以上説明したように、本実施形態のソフトウェア管理システム1においては、インターネット5に接続した状態ではクラウドサーバ3から制御用ソフトウェアを受信して格納し、フィールドネットワーク26に接続した状態では格納した制御用ソフトウェアを制御機器に送信して更新させる更新装置4を備えている。本実施形態ではこの更新装置4を、運搬移動可能な1台のノートPCで構成しており、インターネット5に接続した状態で上記クラウドサーバ3から必要な制御用ソフトウェアの上位版をダウンロードする。その後に、更新装置4を、別途USBケーブル27と上位制御装置21、またはUSBケーブルとモータ制御装置22(図示省略)を介してフィールドネットワーク26に間接的に接続し直した状態で制御用ソフトウェアを制御機器に送信、更新させる。このように、更新装置4をフィールドネットワーク26とインターネット5のそれぞれに交換接続させることで、2つのネットワーク間の物理的な遮断状態を常に維持しつつダウンロードした制御用ソフトウェアで更新させることができる。この結果、外部接続しない制御システムである機械設備2に対しても制御用ソフトウェアを安全にかつ容易に更新することができる。
なお、上記図1に示した本実施形態の例では、更新装置4をUSBケーブル27を介して上位制御装置21に直接接続した状態で制御用ソフトウェアの更新シーケンスを行ったが、これに限られない。他にも、更新装置4を別途のUSBケーブルを介してモータ制御装置22に直接接続した状態で、上記の更新シーケンスを実行してもよい。この場合には、上位制御装置21に対する更新シーケンスは行わず、モータ制御装置22から下位の制御機器(エンコーダ24や外部センサ25)に対してのみ更新シーケンスが行われる。
また、本実施形態では特に、更新装置4は、フィールドネットワーク26又はインターネット5のいずれか一方にだけ接続している状態でのみツールアプリケーション41での処理を実行する。これにより、更新装置4がフィールドネットワーク26とインターネット5の両方に同時に接続している状態では処理を実行せず個別に接続した場合だけ機能するため、2つのネットワーク間の遮断状態を確実に維持でき、機械設備2のフィールドネットワーク26におけるセキュリティ機能を向上できる。なおこの場合の更新装置4は、ハードウェア的にはUSB接続及びインターネット接続の両方が可能であって運搬移動が容易な携帯型の情報端末であればよく、本実施形態のような汎用のノートPC以外にも例えばエンジニアリングツール等で構成してもよい。
また、センサによっては機械設備2を解体しなければアクセスできない配置にある場合があり、例え更新装置4が運搬移動可能な情報端末であってもそのような配置のセンサに直接的に接続する作業は煩雑となりやすい。一方、上位制御装置21は一般的にフィールドネットワーク26を介して他の制御機器へ情報送受可能であり、またアクセスしやすい配置に設置される場合が多い。そこで本実施形態では特に、更新装置4が例えば(ネットワークではない)USBケーブル27で直接接続した上位制御装置21を介して間接的にフィールドネットワーク26に接続する。これにより、更新装置4は上位制御装置21に対して直接的に制御用ソフトウェアを更新することができるとともに、機械設備2中のどのような配置にあるモータ制御装置22、エンコーダ24、及び外部センサ25の制御機器に対しても当該上位制御装置21及びフィールドネットワーク26を介して間接的に制御用ソフトウェアを送信して更新させることができ、更新作業が各段に容易となる。
また、制御用ソフトウェアには秘匿対象となる技術情報が含まれている場合が多いため、その漏洩防止のためにもダウンロードしたユーザ自身だけが制御用ソフトウェアの更新作業を行えるようにする必要がある。そこで本実施形態では特に、クラウドサーバ3が所定のライセンスキーに基づいて暗号化された制御用ソフトウェアとそのライセンスキーをインターネット5を介して更新装置4に送信する。それらをインターネット情報送受信部42で受信した更新装置4は、受信したライセンスキーをライセンスキー表示部44で表示する。
これにより、ダウンロード操作したユーザが表示で確認したライセンスキーを別途メモ用紙7等に書き取るなどすることで、当該ユーザのみがダウンロードした制御用ソフトウェアの復号化が可能となる。つまり、ダウンロード後に暗号化状態の制御用ソフトウェアが例えば第三者によって不正にコピーされた場合でも、ダウンロードしたユーザ以外は復号化して使用、解析することができないため技術情報の機密性保持や不正な更新を防止できる。なお、ライセンスキーの出力はディスプレイなどでの表示出力に限られず、プリンタでの印刷出力や、合成音声出力部での発音で出力してもよい(特に図示せず)。
また、本実施形態では特に、更新装置4のライセンスキー表示部44は、制御用ソフトウェアとライセンスキーを受信した際のログイン中の間だけ当該ライセンスキーを表示し、当該ログインの終了後には当該ライセンスキーを更新装置4の記憶装置から消去する。これにより、ログイン終了後の更新装置4に対して第三者が不正にアクセスした場合でもライセンスキーを読み取ることができず、ログイン操作したユーザだけがライセンスキーを手書きメモ用紙7等で保持できるといった秘匿性を確保できる。なお、更新装置4のOS設定等によってログインしたユーザだけが閲覧できる隠しファイルの形式でライセンスキーを保存してもよい。
また、本実施形態では特に、更新装置4は、ライセンスキーを入力するライセンスキー入力部45と、入力されたライセンスキーに基づいて受信した制御用ソフトウェアを復号化する復号化部46と、復号化した制御用ソフトウェアをフィールドネットワーク26を介して制御機器に送信し更新させるUSB情報送受信部47と、を有している。これにより、暗号化アルゴリズムを知得していないユーザでも対応するライセンスキーを入力するだけで制御用ソフトウェアを自動的に復号化できるとともに、各制御機器への送信と更新を自動的に行うことができる。
また、本実施形態では特に、更新装置4のUSB情報送受信部47は、更新実行後に復号化状態の制御用ソフトウェアを記憶装置から消去する。これにより、更新実行後の更新装置4に対して第三者が不正にアクセスした場合でも復号化状態の制御用ソフトウェアを読み取ることができず、制御用ソフトウェアに含まれる技術情報の機密性確保や不正な更新を防止できる。なお、更新装置4のOS設定等によってログインしたユーザだけが閲覧、操作できる隠しファイルの形式で復号化状態の制御用ソフトウェアを保存してもよい。
また、本実施形態では特に、クラウドサーバ3は、制御用ソフトウェアのダウンロード要求を受ける度に新たにライセンスキーを生成し、当該ライセンスキーに基づいて制御用ソフトウェアを暗号化して送信する。これにより、各種の制御用ソフトウェアのダウンロード操作毎に対応してライセンスキーが発行されるため、例え同じ制御機器の制御用ソフトウェアであっても復号化や更新においてユーザ別での管理の独立性を確保できる。またこのようなライセンスキーは、ダウンロードされた制御用ソフトウェアのファイルについてそのログインアカウント別、ユーザ別、ダウンロード操作別で特定するための識別用IDとしても利用できる。なお本実施形態ではダウンロード操作毎にライセンスキーを発行したが、これに限られない。例えば一度に複数の制御用ソフトウェアのダウンロードが要求された場合に、各制御用ソフトウェアのファイル毎にライセンスキーを発行し、個別に暗号化してもよい。
また、本実施形態では特に、クラウドサーバ3は、ログインした更新装置4に対してのみ制御用ソフトウェアを送信する。これにより、ログインで認証されたユーザの更新装置4だけに制御用ソフトウェアを送信できるため、技術情報の機密性確保と不正な更新を防止できる。
また、本実施形態では特に、クラウドサーバ3のログイン履歴管理部35は、送信した制御用ソフトウェアに関するライセンスキー、機器型式、版数等のソフトウェア情報をログインしたユーザに対応させてログイン履歴データベース33に登録する。これにより、ダウンロードされた制御用ソフトウェアのライセンスキーを含むソフトウェア情報をログインアカウント別、ユーザ別、ダウンロード操作別に対応して管理できる。
また、本実施形態では特に、更新装置4は、制御機器に関する機器型式や更新履歴などの機器情報を取得してクラウドサーバ3に送信し、クラウドサーバ3のログイン履歴管理部35は、受信した機器情報をログイン履歴データベース33に登録する。これにより、機械設備2側の各制御機器に関する機器情報をログイン履歴データベース33に登録することができ、単一のトレーサビリティ情報のデータベースとして管理できる。
また、本実施形態では特に、クラウドサーバ3は、ログインしたユーザの更新装置4に対してそのログインアカウントに対応したログイン履歴を送信する。これにより、他のどのユーザがどの制御用ソフトウェアをダウンロード、更新したかを特定でき、不正な操作等を認知できる。
<変形例>
なお、以上説明した実施形態は、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
<変形例1:2つの更新装置を各ネットワークに個別に接続する場合>
上記実施形態では、2つのネットワークの間に1つの更新装置4で交換接続する構成としていたが、これに限られない。他にも、図8に示すように2つの独立した汎用PCをそれぞれ更新装置4A,4Bとして各ネットワークに個別に接続するよう設けてもよい。この場合には、インターネット5に接続した第1の更新装置4A(第1のソフトウェア更新装置)がクラウドサーバ3から暗号化状態の制御用ソフトウェアとライセンスキーのダウンロードシーケンスを実行し、制御用ソフトウェアを例えばUSBメモリ、USB接続HDD、CD−R、DVD−R等のリムーバルメディア8(記録媒体)に記録し、ライセンスキーを表示出力してユーザにメモ用紙7等に手書きさせる。そして、上位制御装置21等を介してフィールドネットワーク26に接続した第2の更新装置4B(第2のソフトウェア更新装置)に、上記リムーバルメディア8を介して暗号化状態の制御用ソフトウェアを読み取らせ、ユーザに上記メモ用紙7を参照してライセンスキーを手入力させる。
以上説明したように、本変形例のソフトウェア管理システム1Aにおいては、更新装置は、インターネット5に常時接続してクラウドサーバ3から受信した制御用ソフトウェアを所定のリムーバルメディア8に記録する第1の更新装置4Aと、フィールドネットワーク26に常時接続して上記所定の記録媒体から読み取った制御用ソフトウェアを制御機器に送信して更新させる第2の更新装置4Bとを有している。これにより、2つのネットワークにそれぞれ専用に常時接続した分離型の第1の更新装置4A及び第2の更新装置4Bの間で物理的な遮断状態を常に維持しつつ、ダウンロードした制御用ソフトウェアの送受を記録媒体メディアを介した簡易な受け渡しで可能となる。またこの場合には、第1の更新装置4Aと第2の更新装置4Bのいずれも運搬移動する必要がないため、固定型のデスクトップPC等で構成することができる(特に図示せず)。
<変形例2:その他>
上記の実施形態及び変形例では、複数のモータ23で駆動する機械設備2に対応して上位制御装置21を1つ備えて駆動制御する構成を例に説明したが、これに限られない。他にも、機械設備2がモータ23を1つだけ備える場合や、複数の機械設備2に対して1つの上位制御装置21が駆動制御する構成などにも上記実施形態及び変形例を適用できる。
また、クラウドサーバ3の処理部31におけるライセンスキー発行部37は、ユーザのログイン時におけるログインアカウントに対応させてライセンスキーを発行することも有効である。この場合には、復号化状態の制御用ソフトウェアを制御機器に更新させる際に対応するライセンスキーも併せて当該制御機器に格納させる。そして機器情報を取得する際には、その格納されているライセンスキーも併せて取得する。これにより、機器情報(ソフトウェア更新情報)をクラウドサーバ3にアップロードした際に、当該クラウドサーバ3が機器情報に含まれるライセンスキーをログインアカウント等と照合することで、実際に制御機器の制御用ソフトウェアを更新したユーザを特定することができ、制御用ソフトウェアの不正入手や不正更新を判定することができる。
なお、以上の実施形態及び変形例においては、工場などの所定施設内におけるフィールドネットワークに対してインターネットなどの広域ネットワークを直接接続すること自体にセキュリティ上問題があることを前提条件として説明した。これに対して、その前提条件に反し、広域ネットワークにおけるセキュリティ上の問題を排除でき、また接続先のクラウドサーバもセキュリティ上の問題がないことが明確である場合には、広域ネットワークを介してフィールドネットワークとクラウドサーバを常時直接的に接続して情報を送受させることも可能である。しかしながら、そのようにセキュリティ上の問題を全て排除して明確に安全性を確保するためには特定の技術課題を解決する必要があり、それが解決されず安全性に懸念が残っている状況では、上記実施形態及び変形例の適用が有効である。
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同時」「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同時」「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
1,1A ソフトウェア管理システム
2 機械設備(制御システム)
3 クラウドサーバ(ソフトウェア配信装置)
4 更新装置(ソフトウェア更新装置)
4A 第1の更新装置(第1のソフトウェア更新装置)
4B 第2の更新装置(第2のソフトウェア更新装置)
5 インターネット(第2のネットワーク)
6 生産工場
7 メモ用紙
8 リムーバルメディア(記録媒体)
21 上位制御装置(制御装置)
22 モータ制御装置(制御装置)
23 モータ
24 エンコーダ(センサ)
25 外部センサ(センサ)
26 フィールドネットワーク(第1のネットワーク)
27 USBケーブル
31 処理部
32 ソフトウェア格納部
33 ログイン履歴データベース
34 ログイン認証部
35 ログイン履歴管理部
36 ソフトウェア管理部
37 ライセンスキー発行部
38 暗号化部
39 サーバ情報送受信部
41 ツールアプリケーション
42 インターネット情報送受信部(受信部)
43 ログイン申請部
44 ライセンスキー表示部(出力部)
45 ライセンスキー入力部(入力部)
46 復号化部
47 USB情報送受信部(更新部)

Claims (15)

  1. 第1のネットワークに接続され、更新可能な制御用ソフトウェアの処理によって制御する制御装置又はセンサを備えた制御システムと、
    前記制御用ソフトウェアを格納し、第2のネットワークを介して前記制御用ソフトウェアを送信するソフトウェア配信装置と、
    前記第1のネットワークと前記第2のネットワークの間の物理的な遮断状態を常に維持しつつ、前記第2のネットワークに接続した状態では前記ソフトウェア配信装置から前記制御用ソフトウェアを受信して格納し、前記第1のネットワークに接続した状態では格納した前記制御用ソフトウェアを前記制御装置又は前記センサに送信して更新させるソフトウェア更新装置と、
    を有するソフトウェア管理システムであって、
    前記ソフトウェア配信装置は、
    所定のキーデータに基づいて暗号化した前記制御用ソフトウェア及び対応する前記キーデータを送信し、
    前記ソフトウェア更新装置は、
    前記ソフトウェア配信装置から前記第2のネットワークを介して暗号化された前記制御用ソフトウェア及び対応する前記キーデータを受信する受信部と、
    受信した前記キーデータを出力する出力部と、
    を有し、
    前記出力部は、
    前記制御用ソフトウェアと前記キーデータを受信した際のログイン中の間だけ当該キーデータを出力し、当該ログインの終了後には当該キーデータを消去することを特徴とするソフトウェア管理システム。
  2. 前記ソフトウェア更新装置は、
    前記第1のネットワーク又は前記第2のネットワークのいずれか一方にだけ接続している状態でのみ処理を実行することを特徴とする請求項1記載のソフトウェア管理システム。
  3. 前記ソフトウェア更新装置は、
    前記第2のネットワークに接続して、前記ソフトウェア配信装置から受信した前記制御用ソフトウェアを所定の記録媒体に記録する第1のソフトウェア更新装置と、
    前記第1のネットワークに接続して、前記所定の記録媒体から読み取った前記制御用ソフトウェアを前記第1のネットワークを介して前記制御装置又は前記センサに送信して更新させる第2のソフトウェア更新装置と、
    を有することを特徴とする請求項1記載のソフトウェア管理システム。
  4. 前記ソフトウェア更新装置は、
    前記制御装置を介して間接的に前記第1のネットワークに接続することを特徴とする請求項1乃至3のいずれか1項に記載のソフトウェア管理システム。
  5. 前記ソフトウェア更新装置は、
    キーデータを入力する入力部と、
    入力された前記キーデータに基づいて受信した前記制御用ソフトウェアを復号化する復号化部と、
    復号化した前記制御用ソフトウェアを前記第1のネットワークを介して前記制御装置又は前記センサに送信し更新させる更新部と、
    を有することを特徴とする請求項1乃至4のいずれか1項に記載にソフトウェア管理システム。
  6. 前記更新部は、
    更新実行後に復号化状態の前記制御用ソフトウェアを消去することを特徴とする請求項記載のソフトウェア管理システム。
  7. 前記ソフトウェア配信装置は、
    前記制御用ソフトウェアの送信要求を受ける度に新たに前記キーデータを生成し、当該キーデータに基づいて前記制御用ソフトウェアを暗号化して送信することを特徴とする請求項乃至のいずれか1項に記載のソフトウェア管理システム。
  8. 前記ソフトウェア配信装置は、
    ログインした前記ソフトウェア更新装置に対してのみ前記制御用ソフトウェアを送信することを特徴とする請求項記載のソフトウェア管理システム。
  9. 前記ソフトウェア配信装置は、
    ログインしたユーザのログインアカウントに対応して前記キーデータを生成することを特徴とする請求項記載のソフトウェア管理システム。
  10. 前記ソフトウェア配信装置は、
    送信した前記制御用ソフトウェアに関するソフトウェア情報をログインしたユーザに対応させてログイン履歴に登録することを特徴とする請求項又は記載のソフトウェア管理システム。
  11. 前記ソフトウェア更新装置は、
    前記制御装置又は前記センサに関する機器情報を取得して前記ソフトウェア配信装置に送信し、
    前記ソフトウェア配信装置は、
    受信した前記機器情報を前記ログイン履歴に登録することを特徴とする請求項10記載のソフトウェア管理システム。
  12. 前記ソフトウェア配信装置は、
    ログインしたユーザに対してそのログインアカウントに対応した前記ログイン履歴を送信することを特徴とする請求項10又は11記載のソフトウェア管理システム。
  13. 所定のキーデータに基づいて暗号化された制御用ソフトウェア及び対応する前記キーデータを第2のネットワークから受信する受信部と、
    前記受信部で受信した前記キーデータを出力する出力部と、
    前記キーデータに基づいて復号化した前記制御用ソフトウェアを、前記第2のネットワークから物理的な遮断状態を常に維持された第1のネットワークを介して制御装置又はセンサに更新させる更新部と、
    を有し、
    前記出力部は、
    前記制御用ソフトウェアと前記キーデータを受信した際のログイン中の間だけ当該キーデータを出力し、当該ログインの終了後には当該キーデータを消去することを特徴とするソフトウェア更新装置。
  14. 請求項13に記載の前記ソフトウェア更新装置に実行させるソフトウェア更新方法であって、
    暗号化された前記制御用ソフトウェア及び対応する前記キーデータを前記第2のネットワークを介して受信することと、
    受信した前記キーデータを出力することと、
    キーデータを入力することと、
    入力された前記キーデータに基づいて受信した前記制御用ソフトウェアを復号化することと、
    復号化した前記制御用ソフトウェアを前記第1のネットワークを介して前記制御装置又は前記センサに更新させることと、
    を実行させることを特徴とするソフトウェア更新方法。
  15. 請求項13に記載の前記ソフトウェア更新装置が備える演算装置に実行させるソフトウェア更新プログラムであって、
    暗号化された前記制御用ソフトウェア及び対応する前記キーデータを前記第2のネットワークを介して受信することと、
    受信した前記キーデータを出力することと、
    キーデータを入力することと、
    入力された前記キーデータに基づいて受信した前記制御用ソフトウェアを復号化することと、
    復号化した前記制御用ソフトウェアを前記第1のネットワークを介して前記制御装置又は前記センサに更新させることと、
    を実行させることを特徴とするソフトウェア更新プログラム。
JP2017193803A 2017-10-03 2017-10-03 ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム Active JP6610639B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017193803A JP6610639B2 (ja) 2017-10-03 2017-10-03 ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム
CN201810271969.0A CN109597633B (zh) 2017-10-03 2018-03-29 软件管理***、软件更新装置、软件更新方法以及存储介质
US15/962,423 US10664263B2 (en) 2017-10-03 2018-04-25 Software management system, software updater, software updating method, and non-transitory computer-readable storage medium storing software update program
DE102018206439.3A DE102018206439A1 (de) 2017-10-03 2018-04-26 Softwareverwaltungssystem, Softwareupdatevorrichtung, Softwareupdateverfahren und Softwareupdateprogramm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017193803A JP6610639B2 (ja) 2017-10-03 2017-10-03 ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム

Publications (2)

Publication Number Publication Date
JP2019067264A JP2019067264A (ja) 2019-04-25
JP6610639B2 true JP6610639B2 (ja) 2019-11-27

Family

ID=65727840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017193803A Active JP6610639B2 (ja) 2017-10-03 2017-10-03 ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム

Country Status (4)

Country Link
US (1) US10664263B2 (ja)
JP (1) JP6610639B2 (ja)
CN (1) CN109597633B (ja)
DE (1) DE102018206439A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057140B2 (en) * 2016-11-11 2018-08-21 Connectwise, Inc. Systems and methods for updating the configuration of a cloud service
JP7255105B2 (ja) * 2018-08-30 2023-04-11 ブラザー工業株式会社 アプリケーションプログラムおよびデータ転送システム
US11531532B2 (en) * 2019-01-16 2022-12-20 Vmware, Inc. Remote deployment of provisioned packages
JP7069084B2 (ja) * 2019-05-22 2022-05-17 本田技研工業株式会社 ソフトウェア更新装置およびソフトウェア更新方法
WO2021131682A1 (ja) * 2019-12-23 2021-07-01 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
DE112021005779T5 (de) 2021-05-12 2024-01-04 Mitsubishi Electric Corporation Datenversandprogramm, Servervorrichtung, Endvorrichtung, Datenversandverfahren und Datenversandsystem
CN116232766B (zh) * 2023-05-06 2023-07-18 中国第一汽车股份有限公司 一种基于ota的数据加密***及方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066977A (ja) * 1998-08-20 2000-03-03 Nec Corp サービス交換方法及びその装置
JP2003029819A (ja) 2001-07-11 2003-01-31 Dainippon Screen Mfg Co Ltd 保守装置、メンテナンスシステムおよびメンテナンス方法
JP3859490B2 (ja) * 2001-11-13 2006-12-20 株式会社 イオノス 通信路のスイッチ接続制御システム
JP2003202931A (ja) * 2002-01-09 2003-07-18 Toshiba Corp ソフトウェアダウンロードシステム、サーバ装置、端末装置、サーバ制御プログラム、端末制御プログラム、サーバ制御方法、端末制御方法
WO2005033913A1 (de) * 2003-09-30 2005-04-14 Siemens Aktiengesellschaft Einräumung eines zugriffs auf ein computerbasiertes objekt
JP4590873B2 (ja) * 2004-01-29 2010-12-01 日本ビクター株式会社 コンテンツ再生装置
ES2450170T3 (es) * 2006-08-08 2014-03-24 Snap-On Equipment Srl A Unico Socio Procedimiento y aparato para actualizar software y/o recoger datos de funcionamiento en una unidad de máquina
JP2009111758A (ja) * 2007-10-30 2009-05-21 Nippon Telegraph & Telephone East Corp 転送システム及び転送装置
JP5950225B2 (ja) * 2012-01-10 2016-07-13 クラリオン株式会社 サーバ装置、車載端末、情報通信方法および情報配信システム
JP2013145504A (ja) * 2012-01-16 2013-07-25 Canon Inc 配信サーバ、監視装置、画像処理装置、および配信サーバの制御方法、およびプログラム
CN103825737B (zh) * 2013-12-30 2017-05-17 北京金玉衡科技有限责任公司 用于工业控制***在线升级的安全装置、***及方法
JP2016200942A (ja) * 2015-04-09 2016-12-01 株式会社東芝 インストール装置およびインストール方法

Also Published As

Publication number Publication date
CN109597633A (zh) 2019-04-09
CN109597633B (zh) 2022-06-07
DE102018206439A1 (de) 2019-04-04
US20190102160A1 (en) 2019-04-04
US10664263B2 (en) 2020-05-26
JP2019067264A (ja) 2019-04-25

Similar Documents

Publication Publication Date Title
JP6610639B2 (ja) ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム
JP5116325B2 (ja) 情報処理装置、ソフトウェア更新方法及び画像処理装置
JP4562464B2 (ja) 情報処理装置
JP4821405B2 (ja) ファイルアクセス制御装置及びファイル管理システム
JP4249181B2 (ja) ネットワークに対するデータアクセスを制御するための記憶著作権侵害防止キー暗号化(sake)デバイスの方法および装置
JP5270694B2 (ja) 機密ファイルを保護するためのクライアント・コンピュータ、及びそのサーバ・コンピュータ、並びにその方法及びコンピュータ・プログラム
CN113545006A (zh) 远程授权访问锁定的数据存储设备
KR20140037476A (ko) 파일의 외부 유출 방지를 위한 시스템 및 그 방법
US20070234059A1 (en) Communication device and medium for the same
JP2005209038A (ja) 情報記憶装置、セキュリティシステム、アクセス許可方法、ネットワークアクセス方法及びセキュリティ処理実行許可方法
JP2008047085A (ja) Usbデバイスを用いるデータ保安システム、装置及び方法
US8695085B2 (en) Self-protecting storage
KR20120110089A (ko) 데스크톱 소프트웨어에서 데스크톱에서 생성된 데이터를 원격 제어 및 모니터링 방법
CN113383511A (zh) 用于解锁数据存储设备的恢复密钥
JPWO2006075355A1 (ja) プログラマブルロジックコントローラの周辺装置
CN113557689A (zh) 用管理器设备初始化数据存储设备
JP5086839B2 (ja) 認証デバイス、生体情報管理装置、認証システムおよび認証方法
JP4587688B2 (ja) 暗号鍵管理サーバ、暗号鍵管理プログラム、暗号鍵取得端末、暗号鍵取得プログラム、暗号鍵管理システム及び暗号鍵管理方法
WO2021142584A1 (zh) 嵌入式设备、合法性识别方法、控制器及加密芯片
JP5582231B2 (ja) 情報処理装置、真正性確認方法、及び記録媒体
TWI669627B (zh) File protection component and its protection method
US11737155B2 (en) Communication with a data storage device using an emulated Wi-Fi captive portal
JP2016072747A (ja) データ提供装置、データ被導入装置、データ授受システム、可搬型記憶媒体、データ提供方法、データ被導入方法、データ授受方法、データ提供プログラム、及びデータ被導入プログラム。
JP2013191226A (ja) 情報処理装置、ソフトウェア更新方法及び画像処理装置
JP5928190B2 (ja) 認証システム及び認証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190820

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190827

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: 20191001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191014

R150 Certificate of patent or registration of utility model

Ref document number: 6610639

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150