TW201640407A - 程式更新裝置、複合單元裝置、更新判定程式產品及程式更新方法 - Google Patents

程式更新裝置、複合單元裝置、更新判定程式產品及程式更新方法 Download PDF

Info

Publication number
TW201640407A
TW201640407A TW104132792A TW104132792A TW201640407A TW 201640407 A TW201640407 A TW 201640407A TW 104132792 A TW104132792 A TW 104132792A TW 104132792 A TW104132792 A TW 104132792A TW 201640407 A TW201640407 A TW 201640407A
Authority
TW
Taiwan
Prior art keywords
unit
update
program
information
rule
Prior art date
Application number
TW104132792A
Other languages
English (en)
Other versions
TWI599906B (zh
Inventor
Daisuke Suzuki
Hideyuki Oguro
Shunya Hasegawa
Tomoyoshi Ueno
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of TW201640407A publication Critical patent/TW201640407A/zh
Application granted granted Critical
Publication of TWI599906B publication Critical patent/TWI599906B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

程式更新裝置(11)係包括:程式記憶部(1051),其係記憶屬於程式的韌體;規則記憶部(1052),其係記憶訂定有韌體的更新規則的規則資訊;更新資訊收訊部(1053),其係接收用以更新韌體的更新資訊;判定部(1054),其係判定更新資訊是否適合於規則資訊;及更新部(1055),其係若判定部(1054)判定為適合,即使用更新資訊,來更新程式記憶部(1051)所記憶的韌體。

Description

程式更新裝置、複合單元裝置、更新判定程式產品及程式更新方法
本發明係關於程式更新裝置、複合單元裝置、更新判定程式及程式更新方法。
一般而言,將規定組入機器的動作的軟體稱為韌體。以下有將韌體記載為FW的情形。近年來,伴隨智慧型手機所代表的機器的網路化,以功能強化或錯誤修正(bug fix)為目的,活用終端使用者可更新FW的功能。可更新FW的功能係不僅消費者產品,在處理場(plant)或工廠被利用的產業用控制裝置或控制汽車的電子機器中亦被利用一部分。以下將可更新FW的功能稱為FW更新功能。
FW更新功能係在終端使用者中以下列順序予以利用。
(1)終端使用者由製造業者的網站,取得經更新的FW的檔案。
(2)終端使用者係將所製成取得的檔案,透過網路或記錄媒體而輸入至對象的組入機器。
(3)組入機器根據FW的檔案而改寫韌體。
FW更新功能係提供如上所述之便利性,另一方 面,會有作為攻擊者的利用路徑而被惡意使用的危險性。例如,若使用被惡意第三者所作成的FW,終端使用者進行機器的FW的更新,會有被惡意第三者佔奪機器的危險性。因此,以FW更新功能被使用的FW係必須可證明由機器製造者被釋出(release)。在非專利文獻1中係記載利用藉由數位簽章或訊息認證碼所為之對訊息的竄改檢測,藉此阻止任意改變FW的技術。在此,必須留意產業用控制裝置或汽車的電子控制機器並非以單體而被最終使用者利用,將該等機器作為零件的最終製品為被其他製造商所製作。因此,以最終製品而言,對各個機器的FW的管理責任在於最終製品的製造商。此外,亦必須留意產業用控制裝置係經元件化,最終製品係將該等組合複數所構成。亦即,各個機器的FW不僅作為單體來管理,必須作為複數組合來進行管理。另一方面,如控制系統般,在發生因發生某些障礙所造成之中斷或停止時為影響大的系統中,可謂為處於儘可能排除很可能對如FW的更新所示之系統的動作造成影響的現象的傾向。
例如,如非專利文獻2所揭示之「Copy Exactly!」之例所示,生產系統係排除一切不穩定來進行建構,藉此減低不良情形的風險。
先前技術文獻 非專利文獻
非專利文獻1:RFC4108, “Using Cryptographic Message Syntax (CMS) to Protect Firmware Packages”, http://tools.ietf.org/html/rfc4108
非專利文獻2:Intel “Manufacturing Process Copy exactly!” http://www.intel.com/content/www/us/en/quality/exact-copy.html
經元件化的產業用控制裝置係以具通用性的規格所構成,而未限定用途。當然,該產業用控制裝置的動作係在其規格的範圍內予以保證。另一方面,將產業用控制裝置設為複數構成零件之中的一個的最終製品係在掌握產業用控制裝置的規格之下,予以系統運行。但是,雖謂為元件的規格的範圍,最終製品並非為可完全考慮產業用控制裝置等各自的構成零件的不穩定(在規格容許範圍內的變動)來驗證品質。
因此,若由建構最終製品的製造商來看,雖謂為規格的範圍內,因FW更新而發生不穩定(在容許範圍的規格的變動)係會造成在最終製品發生不良情形的風險。因此,製造最終製品的製造商係必須控制及限制產業用控制裝置所具有的FW更新功能的終端使用者的使用。
此外,由複數控制裝置所成之最終製品係必須將各個控制裝置的FW形成為組合來進行管理。因此,FW更新功能亦必須在考慮FW的組合之下,可限制及限制在終端使用者的使用。
具備複數控制裝置作為零件的最終製品係藉由終端使用者予以零件替換。亦即,最終製品係必須考慮作為零件的各個控制裝置被替換的情形,來管理FW的組合。
本發明之目的在提供一種製造最終製品的製造商可控制及限制控制裝置所具有之FW更新功能的終端使用者的使用的構成。
本發明之程式更新裝置係包括:程式記憶部,其係記憶程式;規則記憶部,其係記憶訂定有前述程式的更新規則的規則資訊;更新資訊收訊部,其係接收用以更新前述程式的更新資訊;判定部,其係判定前述更新資訊是否適合於前述規則資訊;及更新部,其係若前述判定部判定為適合,即使用前述更新資訊,來更新前述程式記憶部所記憶的前述程式。
藉由本發明,製造最終製品的製造商可控制及限制控制裝置所具有之FW更新功能的終端使用者的使用。
M‧‧‧主要單元
1‧‧‧FW更新系統
10‧‧‧控制裝置製造商
11‧‧‧程式更新裝置
20‧‧‧組裝製造商
30‧‧‧終端使用者
40‧‧‧通訊網路
41、42‧‧‧路徑
51‧‧‧送訊要求
52‧‧‧不適合訊號
100‧‧‧配訊伺服器
102‧‧‧更新用FW
1020‧‧‧更新資訊
103‧‧‧網站
110‧‧‧控制部
120‧‧‧更新資訊生成部
130‧‧‧通訊部
140‧‧‧記憶部
105、105(10)、105(20)、105(30)‧‧‧控制裝置
1050‧‧‧單元裝置
1051、1051M‧‧‧程式記憶部
1052、1052M‧‧‧規則記憶部
1053、1053M‧‧‧更新資訊收訊部
1054、1054M‧‧‧判定部
1055、1055M‧‧‧更新部
1056、1056M‧‧‧規則資訊收訊部
1057、1057M‧‧‧要求送訊部
1058、1058M‧‧‧驗證部
1059M‧‧‧版本取得部
200‧‧‧組裝製造商裝置
201‧‧‧開發工具
202‧‧‧專案檔案
203‧‧‧更新FW URL
204‧‧‧規則檔案URL
205、205A‧‧‧規則檔案
2051‧‧‧規則資訊
2052‧‧‧新版規則資訊
205-1、205A-1‧‧‧FW版本
205-2、205A-2、205-3、205A-3‧‧‧屬性
205A-0‧‧‧更新可否資訊
206‧‧‧公開金鑰
207‧‧‧數位簽章
2060‧‧‧驗證資訊
210‧‧‧開發工具執行部
211‧‧‧專案檔案生成部
212‧‧‧規則資訊生成部
220‧‧‧通訊部
230‧‧‧記憶部
300‧‧‧終端使用者裝置
3000‧‧‧下載裝置
301‧‧‧開發工具
310‧‧‧開發工具執行部
320‧‧‧通訊部
330‧‧‧記憶部
901‧‧‧處理器
902‧‧‧輔助記憶裝置
903‧‧‧記憶體
904‧‧‧通訊裝置
905‧‧‧輸入介面
906‧‧‧顯示介面
907‧‧‧輸入裝置
908‧‧‧顯示器
9041‧‧‧接收器
9042‧‧‧發送器
第1圖係顯示實施形態1的圖,顯示FW更新系統1的構成的圖。
第2圖係顯示實施形態1的圖,在對通訊網路40的連接狀態下顯示第1圖的圖。
第3圖係顯示實施形態1的圖,說明組裝製造商20將包 含控制裝置105的最終製品進行出貨的工序的圖。
第4圖係顯示實施形態1的圖,顯示專案檔案202及記載有FW的更新規則的規則檔案205的圖。
第5圖係顯示實施形態1的圖,顯示由組裝製造商20被交給終端使用者30的控制裝置105及專案檔案202的圖。
第6圖係顯示實施形態1的圖,說明終端使用者30更新控制裝置105(30)的FW的情形的圖。
第7圖係顯示實施形態1的圖,顯示控制裝置105的構成的區塊圖。
第8圖係顯示實施形態1的圖,顯示終端使用者30中之終端使用者裝置300及控制裝置105(30)的動作的序列圖。
第9圖係顯示實施形態1的圖,顯示複數單元A~E使用韌體A~E的狀態的圖。
第10圖係顯示實施形態1的圖,顯示單元A的構成的區塊圖。
第11圖係顯示實施形態1的圖,顯示單元A所具有的規則檔案205A的圖。
第12圖係顯示實施形態1的圖,藉由零件替換,未意圖地變更FW的組合的案例中的動作的圖。
第13圖係顯示實施形態1的圖,顯示單元A所保有的規則檔案205A的圖。
第14圖係顯示實施形態1的圖,顯示控制裝置105(30)具備版本取得部的構成的區塊圖。
第15圖係顯示實施形態1的圖,顯示單元A取得版本的 序列的圖。
第16圖係顯示實施形態2的圖,顯示控制裝置的硬體構成的圖。
實施形態1.
<***構成的說明***>
參照第1圖至第15圖,說明實施形態1。第1圖係顯示FW的更新所需的FW更新系統1的構成。第2圖係在對通訊網路40的連接狀態下顯示第1圖的圖。此外,第2圖係顯示FW配訊伺服器裝置100(以下為配訊伺服器100)、組裝製造商裝置200、及終端使用者裝置300的區塊構成圖。
配訊伺服器100係包括:控制部110、更新資訊生成部120、通訊部130、記憶部140。控制部110係控制配訊伺服器100的動作。更新資訊生成部120係生成後述之更新用FW102。通訊部130係透過通訊網路40而與組裝製造商裝置200、終端使用者裝置300進行通訊。記憶部140係記憶更新用FW102等資訊。
組裝製造商裝置200係包括:開發工具執行部210、通訊部220、記憶部230。開發工具執行部210係執行被記憶在記憶部230之作為程式的開發工具201。通訊部220係透過通訊網路40而與配訊伺服器100、終端使用者裝置300進行通訊。記憶部230係記憶開發工具201等資訊。開發工具執行部210係包括:生成後述之專案檔案202的專案檔案生成部211、生成後述之規則檔案的規則資訊生成部212。
終端使用者裝置300係包括:開發工具執行部310、通訊部320、記憶部330。開發工具執行部310係執行被記憶在記憶部330之作為程式的開發工具301。通訊部320係透過通訊網路40來進行通訊。記憶部330係記憶開發工具301等資訊。
第1圖的控制裝置製造商10係具有將FW進行配訊的配訊伺服器100,且管理更新用FW102。
(1)控制裝置製造商10係指製造控制裝置的製造商。以具體例而言,若最終製品為PLC(可程式邏輯控制器),構成PLC的CPU單元或通訊單元等即為控制裝置。控制裝置係指控制其他機器的裝置。
(2)更新用FW102係指用以更新控制裝置105所具有的FW的資訊。其中,FW為程式。因此,更新用FW102係指用以更新控制裝置105所具有的程式的更新資訊。更新用FW102可為更新前FW與更新後FW的差分資訊,亦可為與更新前FW的全部進行置換的全體資訊。其中,規則檔案205亦被更新,惟關於規則檔案205,亦與更新用FW102同樣地,可為差分資訊,亦可為全體資訊。
配訊伺服器100係與通訊網路40相連接,透過通訊部130,接收來自組裝製造商裝置200、或終端使用者裝置300的存取。
在第1圖的組裝製造商20中,具有儲存有由控制裝置製造商10提供的開發工具201的組裝製造商裝置200。組裝製造商裝置200係與控制裝置105(20)相連接。在組裝製 造商20中,係對控制裝置105(20)使用被儲存在組裝製造商裝置200的開發工具201,配合自身的目的來進行追加性的開發。組裝製造商20係藉由來自控制裝置製造商10的通知、或定期確認,來辨識FW更新的必要性。若FW的更新具必要性,組裝製造商20係藉由組裝製造商裝置200,由配訊伺服器100下載更新用FW102。被下載的更新用FW102係透過組裝製造商裝置200,被傳送至組裝製造商20的控制裝置105(20)。控制裝置105(20)係以所接收到的更新用FW102,更新自身的FW。其中,在第1圖中,在控制裝置製造商10、組裝製造商20、終端使用者30的各個表示控制裝置105,但是控制裝置105為相同。控制裝置105(10)係表示控制裝置105存在於控制裝置製造商10。控制裝置105(20)係表示控制裝置105(10)被搬入至組裝製造商20者。控制裝置105(30)係表示控制裝置105(10)經由組裝製造商20而被搬入至終端使用者30者。若不需要區別,則記載為控制裝置105。在此,更新用FW102係假定藉由非專利文獻1所揭示的方法或類似的方法予以保護。關於保護的方式,並未特別設限。
同樣地,在第1圖的終端使用者30中,亦具有儲存有由控制裝置製造商10被提供的開發工具301的終端使用者裝置300。在終端使用者30中,以內含於以組裝製造商20予以開發的最終製品的形式,控制裝置105(20)被釋放。其中,組裝製造商20係指藉由使用控制裝置製造商10所製造的複數控制機器,來組裝包含複數控制裝置的最終製品的製造商。如上所述,若最終製品為PLC,控制裝置即為CPU單元 或通訊單元。終端使用者裝置300係與控制裝置105(30)相連接,終端使用者30亦與組裝製造商20同樣地,對於控制裝置105(30),使用被儲存在終端使用者裝置300的開發工具301,配合自身的目的來進行追加性的開發。在終端使用者30中,亦藉由來自控制裝置製造商10的通知、或定期確認,來辨識FW更新的必要性,由配訊伺服器100透過終端使用者裝置300來下載更新用FW102。被下載的更新用FW102係透過終端使用者裝置300而被傳送至控制裝置105(30)。控制裝置105(30)係以所接收到的更新用FW102來更新自身的FW。
以上為FW更新的基本構成及基本動作。
接著使用第3圖~第5圖,說明最終製品之製造源亦即組裝製造商20,對終端使用者30控制控制裝置105所具有的FW更新功能的方法。
第3圖係說明組裝製造商20將包含控制裝置105的最終製品出貨至終端使用者30的工序的圖。第4圖係顯示專案檔案202及記載有FW的更新規則的規則檔案205的圖。第5圖係顯示由組裝製造商20被交給終端使用者30的控制裝置105及專案檔案202。
首先使用第3圖、第4圖,說明在組裝製造商20的動作。以下說明之組裝製造商20中的處理係藉由組裝製造商裝置200來進行。
組裝製造商20係在儲存有開發工具201的組裝製造商裝置200,開發控制裝置105(20)的程式。此時,一般而言被儲存在組裝製造商裝置200的開發工具201係具有管理 控制裝置105(20)的程式適於控制裝置105(20)的管理功能。該管理功能之一為第3圖、第4圖所示之專案檔案202。
以專案檔案202予以管理的程式、參數或資料等檔案群係控制裝置105(20)的控制所需之檔案之一式。
(1)專案檔案202係如第4圖所示,包含程式、參數或資料作為檔案群。組裝製造商裝置200的開發工具執行部210係藉由管理專案檔案202,來管理程式、參數或資料等檔案群。
(2)第4圖的更新FW URL203係以專案檔案202予以管理的資料之一。更新FW URL203係控制裝置製造商10所公開的網站的定位器。由該網站係可下載控制裝置105的更新用FW102。
(3)規則檔案URL204係以專案檔案202予以管理的資料之一。規則檔案URL204係組裝製造商20所公開的網站定位器。由該網站係可關於最終製品的FW更新,下載訂有FW的更新規則的規則檔案205。FW的更新規則係指FW的更新的條件。以更新的條件之例而言,列舉:FW的版本205-1、有關經更新之功能的屬性205-2、藉由更新來進行解決的脆弱性的屬性205-3等。其中,FW的版本205-1亦為屬性資訊,包含FW的版本205-1的該等屬性資訊係被記載在更新用FW102。其中,規則檔案205亦被更新。該更新容後敘述。
如第5圖所示,組裝製造商20係當在將最終製品進行出貨時,組裝製造商裝置200的開發工具執行部210對控制裝置105(20)安裝規則檔案205-1。在此,規則檔案205-1意指被安裝的規則檔案205,之後若規則檔案205-1藉由對規 則檔案URL204進行存取來予以更新,規則檔案205係記載為規則檔案205-2。在進行該安裝時,如第5圖所示,在規則檔案205-1係附加有使用組裝製造商20的秘密金鑰所生成的數位簽章207。此外,組裝製造商20係在將最終製品進行出貨時,對控制裝置105(20),安裝驗證被附加在規則檔案205-1的數位簽章207的公開金鑰206。數位簽章207及公開金鑰206為驗證資訊2060。
如第5圖所示,對終端使用者30,由組裝製造商20,連同最終製品一起釋放專案檔案202。
接著,說明終端使用者30中的動作。第6圖係說明終端使用者30更新控制裝置105(30)的FW的情形的圖。第7圖係顯示控制裝置105的構成的區塊圖。FW係被記憶在程式記憶部1051。第8圖係顯示終端使用者30中之終端使用者裝置300及控制裝置105(30)的動作的序列圖。
<***構成的說明***>
首先,參照第7圖,說明控制裝置105的構成。
作為程式更新裝置11的控制裝置105係包括:程式記憶部1051、規則記憶部1052、更新資訊收訊部1053、判定部1054、更新部1055、規則資訊收訊部1056、要求送訊部1057、驗證部1058。程式記憶部1051係記憶屬於程式的韌體。規則記憶部1052係記憶設定有韌體的更新規則的規則資訊2051亦即規則檔案205。更新資訊收訊部1053係接收用以更新韌體的更新資訊1020亦即更新用FW102。判定部1054係判定更新資訊1020是否適合於規則資訊2051。更新部1055係若 判定部1054判定為適合時,即使用更新資訊1020,來更新程式記憶部1051所記憶的韌體。此外,更新部1055係更新規則資訊。
規則資訊收訊部1056係接收規則資訊2051經更新後的新版規則資訊2052。要求送訊部1057係若被接收到新版規則資訊2052時,即傳送要求更新資訊1020的送訊的送訊要求51。此時,更新資訊收訊部1053係接收更新資訊1020,作為送訊要求51的響應,判定部1054係判定更新資訊收訊部1053作為響應所接收到的更新資訊1020是否適合於新版規則資訊2052。
規則記憶部1052所記憶的規則資訊2051係具有驗證資訊2060。驗證部1058係根據驗證資訊2060、及規則資訊收訊部1056所接收到的新版規則資訊2052,驗證新版規則資訊2052是否為正當,驗證的結果,若判定為非正當,即廢棄新版規則資訊2052。
規則資訊收訊部1056係從由網站103下載被上傳至網站103的新版規則資訊2052的下載裝置3000,接收新版規則資訊2052。此時,下載裝置3000為終端使用者裝置300。
<***動作的說明***>
接著參照第6圖、第8圖,說明終端使用者裝置300、控制裝置105(30)的動作。
終端使用者30係藉由來自控制裝置製造商10或組裝製造商20的通知、或定期確認,來辨識FW更新的必要性。終端使用者30係使用儲存有開發工具301及專案檔案202 的終端使用者裝置300,進行最終製品所包含的控制裝置105(30)的保養。
<步驟S101>
終端使用者裝置300的開發工具執行部310係使用通訊部320來參照專案檔案202所規定的規則檔案URL204,且檢查是否有規則檔案205-1的新版本。在此,規則檔案205的版本係如第4圖所示,以專案檔案202予以管理。
<步驟S102>
開發工具執行部310係若有新版本,即由網站的網頁下載規則檔案205-2。
<步驟S103>
開發工具執行部310係若下載新版本的規則檔案205-2,即透過通訊部320而傳送至控制裝置105(30)。其中,終端使用者裝置300係在記憶部330儲存有規則檔案205。開發工具執行部310傳送至控制裝置105的規則檔案205為記憶部330的規則檔案205的複製。
<步驟S104>
控制裝置105(30)的規則資訊收訊部1056係接收作為新版規則資訊2052的規則檔案205-2。驗證部1058係使用預先以組裝製造商20被安裝的公開金鑰206,驗證規則檔案205-1的數位簽章207的正當性。其中,規則檔案205-1係被記憶在規則記憶部1052。驗證部1058係執行一般的數位簽章207的驗證方式。具體而言,驗證部1058係以公開金鑰206將數位簽章207進行解密,且生成解密值h1。此外,驗證部1058係 使用所取得的新版本的規則檔案205-2所包含的資訊,生成雜湊值h2,且將解密值h1與雜湊值h2進行比較。驗證部1058係若h1=h2,判定為驗證成功,若非為h1=h2,則判定為驗證失敗。
<步驟S105>
若驗證失敗,驗證部1058係廢棄所接收到的規則檔案205-2,且對終端使用者裝置300通知錯誤。
<步驟S106>
若藉由驗證部1058所為之驗證成功,更新部1055係以所接收到的更新用的規則檔案205-2,更新自身所保持的規則檔案250-1。此外,要求送訊部1057係對終端使用者裝置300傳送更新成功的通知。更新成功的通知為要求傳送FW102的送訊要求51。
<步驟S107>
終端使用者裝置300的通訊部320接收送訊要求51。若送訊要求51被接收到,開發工具執行部310係透過通訊部320在更新FW URL203進行存取,且確認是否有適合於規則檔案205-2所示之規則的更新用FW102。其中,更新FW URL203的實體係如第2圖所示為配訊伺服器100。開發工具執行部310若有適合於規則的更新用FW102,由更新FW URL203下載適合的更新用FW102(S108;YES)。開發工具執行部310在更新FW URL203進行存取的結果,若無適合規則檔案205-2的規則的更新用FW102,對顯示裝置等輸出不需要韌體更新的情形來進行通知(S108;NO)。
<步驟S109>
開發工具執行部310係透過通訊部320,對控制裝置105(30)傳送被下載的更新用FW102。
<步驟S110>
更新資訊收訊部1053接收作為更新資訊1020的更新用FW102。判定部1054係確認所被接收到的更新用FW102是否適合規則檔案205-2所示之規則。此時,如前所述,更新用FW102係假定為藉由非專利文獻1所揭示的方法或類似的方法來保護免於改竄,關於該保護的方法、方式,並未特別設限。
<步驟S111>
若適合規則(S110中為YES),更新部1055係以被確認適合(S110中為YES),而且被確認正當性(S104中為YES)的更新用FW 102,來更新控制裝置105(30)的FW。更新完成後,更新部1055係對終端使用者裝置300傳送正常結束。
<步驟S110中為NO>
其中,若不適合於規則(S110中為NO),更新部1055並未更新FW,而對終端使用者裝置300傳送不可更新。
其中,實施形態1的規則檔案205亦可非為單一者,而按每位終端使用者30進行區分,亦可按每個最終製品的版本進行區分。
接著,參照第9圖~第11圖,說明關於控制裝置105(30)所具備之各單元的FW的組合的規則。
第9圖所示之控制裝置105(30)具有複數單元A~E,複數單元A~E分別表示使用韌體A~E的狀態。控制裝 置105(30)係包括複數單元的複合單元裝置。在第9圖中,更新FW群401係由更新用韌體A~E所構成。將更新用韌體A、B等記載為更新用FW(A)、更新用FW(B)等。更新用FW(A)係相當於第1圖等中所述之更新用FW102。更新用FW(B)~更新用FW(E)亦同樣地,分別相當於更新用FW102。第10圖係顯示成為主要單元的單元A的構成的區塊圖。單元A係與第7圖的控制裝置105為相同的構成。第7圖的程式記憶部1051~驗證部1058係與第10圖的程式記憶部1051M~驗證部1058M相對應,功能亦同。第11圖係顯示單元A所具有的規則檔案205A。規則檔案205A係被記憶在規則記憶部1052M。第10圖所示之單元A的動作係與第8圖的控制裝置105(30)的動作相同,可將第7圖的控制裝置105(30)改讀為單元A。但是,規則檔案205A的內容不同。
第9圖所示之控制裝置105(30)係由有FW被更新之可能性的單元A、B、C、D、E等5個單元所構成。此為例示,並非為限定構成者。在此,單元A為在控制裝置105(30)中發揮主要作用者。以下,將單元A稱為主要單元A。若控制裝置105(30)為PLC,主要單元A即為CPU單元,成為從屬的單元B、C、D、E為CPU單元以外的通訊用等單元。
更新FW群401係分別以第8圖所示方法予以下載者(第8圖的S109)。
更新FW群401係經由第9圖中的路徑41。亦即,更新FW群401係必定經由主要單元A,且各自的單元A~E的FW被更新。在該更新處理中,主要單元A係確認更新用 FW(A)、FW(B)等是否符合規則檔案205A的規則。亦即,若更新更新FW群401,主要單元A為發揮第8圖的控制裝置105(30)的作用者,若為路徑41,第8圖的控制裝置105(30)置換成主要單元A。若為路徑41,如前所述,對更新用FW(A)等的竄改係藉由非專利文獻1所揭示的方法或類似的方法予以保護。
另一方面,從屬單元B~E並不許可第9圖中的路徑42,亦即直接對從屬單元的FW的更新。如上所示,在進行從屬單元B~E的FW的更新時,必定使其經由主要單元A。從屬單元係具有:控制部、通訊部、記憶FW的記憶部(未圖示)。控制部係若透過通訊部而接收到FW的更新要求時,即拒絕要求。
主要單元A的規則記憶部1052M係記憶有第11圖的規則檔案205A。在第11圖之例中,規則檔案205A係具有是否更新各單元的FW較好來作為更新可否資訊205A-0。主要單元A的判定部1054M係檢查主要單元A的更新用FW(A)、及甚至從屬單元B~E的更新用FW(B)~FW(E),是否為組裝製造商20按照作為規則檔案205A所示之規則的FW。該檢查係相當於第8圖的S110,在S110中,主要單元A的判定部1054M係參照規則檔案205A所示規則,判定欲更新的FW是否適合規則。具體而言如以下所示。判定部1054M係若判定適合的FW為更新用FW(B),即參照更新可否資訊205A-0,由於為可更新,即判定為適合。但是,若判定適合的FW為更新用FW(C),由於更新可否資訊205A-0為不可更新, 因此判定部1054M係判定為不適合規則。
在主要單元A中,除了判定部1054M對更新FW群401判定是否適合於規則之外,與第8圖的控制裝置105(30)的動作為相同。若判定部1054M判定為適合規則,更新部1055M即更新FW。
接著參照第12圖~第15圖,說明主要單元A由各單元取得FW的版本的情形。與第9圖的情形相同,控制裝置105(30)係包括單元A~E。
第12圖係顯示藉由零件替換,未意圖地變更FW的組合之案例中的動作。其中,第12圖為例示,並非為限定構成或屬性者。第13圖係顯示主要單元A所保有的規則檔案205A。在規則檔案205A的FW版本205A-1中,係規定各單元所承認之FW的版本的上限。在FW版本205A-1中,FW可更新至版本1.2。第14圖係主要單元A另外包括由各單元取得FW的版本的版本取得部1059M的構成。第15圖係顯示版本取得部1059M由FW取得版本時的動作。
如第12圖所示,假定控制裝置105(30)的單元B發生硬體故障,與單元B-1作替換的案例。此時,單元B的FW版本為1.1,適合被裝載在單元A的規則檔案205A的FW版本205A-1。藉由FW版本205A-1,可更新FW至版本12,但是並未被承認更新至最新的1.3。因此,若最新的版本1.3的FW被裝載在進行替換的單元B-1時,並不適合FW版本205A-1。
<***動作的說明***>
<步驟S201>
主要單元A的版本取得部1059M係在控制裝置105(30)起動時,除了自身的FW的版本之外,由各FW取得單元B~E之各個的FW的版本。
<步驟S202>
判定部1054M係確認規則檔案205A所記載的規則、與所取得的版本的整合性。
<步驟S203>
若在單元B-1裝載有最新的版本1.3的FW,藉由確認與規則的整合性,判定部1054M係發現單元B-1不適合規則檔案205A的FW版本205A-1的規則。
此時,要求送訊部1057M對終端使用者裝置300傳送表示不適當之不適合訊號52。該不適合訊號52為送訊要求51。送訊要求51係包含希望送訊的更新用FW的資訊。不適合的通知並不限於終端使用者裝置300,亦可發送至具有接收通知且進行顯示的功能的主要單元A的顯示功能部(未圖示)、或經由網路而發送至HMI(Human Machine Interface,人機介面)、SCADA(Supervisory Control And Data Acquisition,監督控制及資料獲取)等其他終端裝置。
<步驟S204、S205>
終端使用者裝置300係若接收到送訊要求51,開發工具執行部310在更新FW URL203進行存取,由配訊伺服器100取得適合於規則檔案205A的規則的更新FW(B)(版本1.2),且傳送至控制裝置105(S205)。
<步驟S206>
更新部1055M係使用更新用FW(B)來更新單元B-1的FW。在該案例中,係藉由終端使用者裝置300及主要單元A,單元B-1的韌體被更新為「1.2」,處理即完成。
<***效果的說明***>
實施形態1的控制裝置105係儲存有組裝製造商20所提供的規則檔案205。因此,製造最終製品的組裝製造商20係可控制及限制控制裝置105所具有的FW更新功能的終端使用者的使用。
在實施形態1中,規則檔案205為可更新。因此,組裝製造商20係可更詳細且柔軟地控制及限制產業用控制裝置所具有的FW更新功能的終端使用者的使用。
此外,規則檔案205係可由網站下載,但是組裝製造商20係可將在組裝製造商裝置200經更新的新版規則檔案上傳至網站。因此,可在組裝製造商20輕易地變更規則,此外,可輕易地將變更後的規則提供給終端使用者30。
在實施形態1中,主要單元判定部1054M檢查使用規則檔案205A的從屬的更新用FW,因此可進行FW的組合的管理,且可控制未進行藉由終端使用者30所為之不適當的FW更新的方式。亦即,在第11圖所示之規則檔案205A,組裝製造商20規定各個更新用FW的更新條件,藉此可管理、控制FW的組合的更新。此外,僅有主要單元A的主要單元判定部1054M判斷可否進行FW的更新,從屬單元本身並不更新FW。因此,可統合管理FW的組合。
在實施形態1之控制裝置105中,版本取得部1059M取得FW的版本,判定部1054M判定所取得的版本是否適合規則檔案205A。因此,在藉由終端使用者30,單元被替換的情形下,亦可管理FW的組合。此外,若版本不適合時,由於取得適合的版本的更新用FW,因此即使在FW的版本不適合的情形下,亦可迅速替代為版本適合的FW。
實施形態2.
參照第16圖,說明實施形態2。第16圖係以電腦實現配訊伺服器100、組裝製造商裝置200、終端使用者裝置300、控制裝置105、主要單元A等時的硬體構成例。參照第16圖進行說明。以作為電腦的控制裝置105為例來進行說明。配訊伺服器100、組裝製造商裝置200、終端使用者裝置300亦適用控制裝置105的說明。
控制裝置105係包括:處理器901、輔助記憶裝置902、記憶體903、通訊裝置904、輸入介面905、顯示介面906等硬體。處理器901係透過訊號線910而與其他硬體相連接,控制該等其他硬體。輸入介面905係與輸入裝置907相連接。顯示介面906係與顯示器908相連接。
處理器901係進行處理的IC(Integrated Circuit,積體電路)。處理器901係例如CPU(Central Processing Unit,中央處理單元)、DSP(Digital Signal Processor,數位訊號處理器)、GPU(Graphics Processing Unit,圖形處理單元)。輔助記憶裝置902係例如ROM(Read Only Memory,唯讀記憶體)、快閃記憶體、HDD(Hard Disk Drive,硬碟驅動機)。記 憶體903係例如RAM(Random Access Memory,隨機存取記憶體)。通訊裝置904係包含:接收資料的接收器9041及發送資料的發送器9042。通訊裝置904係例如通訊晶片或NIC(Network Interface Card,網路介面卡)。輸入介面905係連接輸入裝置907之纜線911的埠。輸入介面905係例如USB(Universal Serial Bus,通用序列匯流排)端子。顯示介面906係連接顯示器908之纜線912的埠。顯示介面906係例如USB端子或HDMI(註冊商標)(High Definition Multimedia Interface,高解析度多媒體介面)端子。輸入裝置907係例如滑鼠、鍵盤或觸控面板。顯示器908係例如LCD(Liquid Crystal Display,液晶顯示器)。
在輔助記憶裝置902係記憶有實現第7圖所示之程式記憶部1051~驗證部1058的功能的程式。此外,若為第14圖的主要單元A,記憶有實現程式記憶部1051M~版本取得部1059M的功能的程式。將程式記憶部1051~驗證部1058、及程式記憶部1051M~版本取得部1059M彙總表記為「部」。該程式係被載入在記憶體903,且被讀入至處理器901,藉由處理器901予以執行。更具體而言,「部」之中的記憶部係藉由程式、輔助記憶裝置902、記憶體903等予以實現。此外,「部」之中的送訊部、收訊部係藉由程式、通訊裝置904等予以實現,記憶部、送訊部、收訊部以外係藉由程式予以實現。在輔助記憶裝置902亦記憶有OS(Operating System,作業系統)。接著,OS的至少一部分被載入記憶體903,處理器901係一邊執行OS,一邊執行實現「部」的功能的程式。在第16圖中係圖 示1個處理器901,但是控制裝置105亦可包括複數處理器901。接著,複數處理器901亦可聯合執行實現「部」的功能的程式。此外,表示「部」的處理結果的資訊或資料或訊號值或變數值被記憶在記憶體903、輔助記憶裝置902、或處理器901內的暫存器或快取記憶體。
亦可以「電路圖(circuitry)」來提供「部」。此外,亦可將「部」改讀為「電路」或「工序」或「順序」或「處理」。「電路」及「電路圖」係不僅處理器901,亦包含邏輯IC或GA(Gate Array,閘陣列)或ASIC(Application Specific Integrated Circuit,特定應用積體電路)或FPGA(Field Programmable Gate Array,現場可程式化邏輯閘陣列)等其他種類的處理電路的概念。
如上所述,實施形態1的控制裝置105、主要單元的「部」的動作亦可掌握為更新判定程式或程式更新方法。
105‧‧‧控制裝置
1051‧‧‧程式記憶部
1052‧‧‧規則記憶部
1053‧‧‧更新資訊收訊部
1054‧‧‧判定部
1055‧‧‧更新部
1056‧‧‧規則資訊收訊部
1057‧‧‧要求送訊部
1058‧‧‧驗證部

Claims (8)

  1. 一種程式更新裝置,包括:程式記憶部,其係記憶程式;規則記憶部,其係記憶訂定有前述程式的更新規則的規則資訊;更新資訊收訊部,其係接收用以更新前述程式的更新資訊;判定部,其係判定前述更新資訊是否適合於前述規則資訊;及更新部,其係若前述判定部判定為適合,即使用前述更新資訊,來更新前述程式記憶部所記憶的前述程式。
  2. 如申請專利範圍第1項之程式更新裝置,其中,前述程式更新裝置係另外包括:規則資訊收訊部,其係接收前述規則資訊被更新後的新版規則資訊;及要求送訊部,其係若接收到前述新版規則資訊,即傳送要求前述更新資訊的送訊的送訊要求,前述更新資訊收訊部係接收前述更新資訊,作為前述送訊要求的響應,前述判定部係判定前述更新資訊收訊部作為響應所接收到的更新資訊是否適合於前述新版規則資訊。
  3. 如申請專利範圍第2項之程式更新裝置,其中,前述規則記憶部所記憶的前述規則資訊係具有驗證資訊,前述程式更新裝置係另外包括:驗證部,其係根據前述驗證資訊、及前述規則資訊收訊部 所接收的前述新版規則資訊,驗證前述新版規則資訊是否為正當,驗證的結果,若判定出為非正當,即廢棄前述新版規則資訊。
  4. 如申請專利範圍第2或3項之程式更新裝置,其中,前述規則資訊收訊部係從由網站下載被上傳至前述網站的前述新版規則資訊的下載裝置,接收前述新版規則資訊。
  5. 一種複合單元裝置,包括:成為主要的單元裝置亦即主要單元、及成為從屬的單元裝置亦即從屬單元的複數單元裝置的複合單元裝置,前述主要單元係包括:規則記憶部,其係記憶訂定有各自的前述單元裝置的程式的更新的規則的規則資訊;更新資訊收訊部,其係接收用以更新各自的前述單元裝置的程式之每個前述單元裝置的更新資訊;判定部,其係判定前述更新資訊是否適合於前述規則資訊;及更新部,其係若前述判定部判定為適合,即使用前述更新資訊,來更新與前述更新資訊相對應的前述單元裝置的程式。
  6. 如申請專利範圍第5項之複合單元裝置,其中,前述主要單元係另外包括版本取得部,其係由各自的前述單元裝置取得各自的前述單元裝置的程式的版本,前述規則記憶部所記憶的前述規則資訊係訂定有各自的前述單元裝置的程式所承認的版本, 前述判定部係判定前述版本取得部所取得的各自的前述單元裝置的程式的版本是否適合於前述規則資訊所訂定的版本,前述主要單元係另外包括要求送訊部,其係若被判定出前述版本取得部所取得之各自的版本的至少一個為不適合,即輸出表示不適合的不適合訊號。
  7. 一種更新判定程式產品,用以使具有記憶裝置的電腦執行以下處理:將程式記憶在前述記憶裝置的處理;將訂定有前述程式的更新規則的規則資訊記憶在前述記憶裝置的處理;接收用以更新前述程式的更新資訊的處理;判定前述更新資訊是否適合於前述規則資訊的處理;若適合,使用前述更新資訊,來更新前述記憶裝置所記憶的前述程式的處理。
  8. 一種程式更新方法,包括:程式記憶部、規則記憶部、更新資訊收訊部、判定部、更新部的程式更新裝置所進行的程式更新方法,前述程式記憶部記憶程式,前述規則記憶部記憶訂定有前述程式的更新規則的規則資訊,前述更新資訊收訊部接收用以更新前述程式的更新資訊,前述判定部判定前述更新資訊是否適合於前述規則資訊,前述更新部若前述判定部判定出為適合,即使用前述更新 資訊,來更新前述程式記憶部所記憶的前述程式。
TW104132792A 2015-04-23 2015-10-06 Program update device, complex cell device, update decision program product and program update method TWI599906B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/062391 WO2016170641A1 (ja) 2015-04-23 2015-04-23 プログラム更新装置、複合ユニット装置、更新判定プログラム及びプログラム更新方法

Publications (2)

Publication Number Publication Date
TW201640407A true TW201640407A (zh) 2016-11-16
TWI599906B TWI599906B (zh) 2017-09-21

Family

ID=56375125

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104132792A TWI599906B (zh) 2015-04-23 2015-10-06 Program update device, complex cell device, update decision program product and program update method

Country Status (3)

Country Link
JP (1) JP5951162B1 (zh)
TW (1) TWI599906B (zh)
WO (1) WO2016170641A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018055465A (ja) * 2016-09-29 2018-04-05 セイコーエプソン株式会社 印刷装置、及び印刷装置の制御方法
JP6539701B2 (ja) * 2017-09-12 2019-07-03 アセンテック株式会社 端末装置、シンクライアント変換方法およびシンクライアント変換プログラム
CN111078249B (zh) * 2019-11-08 2023-06-02 泰康保险集团股份有限公司 软件更新方法、系统、设备及存储介质
TWI761917B (zh) * 2020-08-19 2022-04-21 鴻海精密工業股份有限公司 程式調試方法、裝置及可讀存儲介質

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005202503A (ja) * 2004-01-13 2005-07-28 Hitachi Ltd 車載情報装置、車載機器管理システム、車両の制御機器のプログラムのバージョンアップ情報の配信方法、車両の制御機器のプログラムのバージョンアップ方法及び車両の制御機器のプログラムのバージョンアップシステム
US7970386B2 (en) * 2005-06-03 2011-06-28 Good Technology, Inc. System and method for monitoring and maintaining a wireless device
JP2009193218A (ja) * 2008-02-13 2009-08-27 Fuji Xerox Co Ltd ファームウェア更新装置およびファームウェア更新システム
US8364598B2 (en) * 2009-10-13 2013-01-29 Microsoft Corporation Use of software update policies
JP5392203B2 (ja) * 2010-08-19 2014-01-22 株式会社リコー 情報処理装置、情報処理システム、インストール支援方法、及びインストール支援プログラム
JP6025165B2 (ja) * 2012-04-27 2016-11-16 ハンファテクウィン株式会社Hanwha Techwin Co.,Ltd. 半導体製造装置の制御プログラムの更新システム

Also Published As

Publication number Publication date
JP5951162B1 (ja) 2016-07-13
TWI599906B (zh) 2017-09-21
WO2016170641A1 (ja) 2016-10-27
JPWO2016170641A1 (ja) 2017-04-27

Similar Documents

Publication Publication Date Title
US11533187B2 (en) Device birth certificate
US11824847B2 (en) Device programming with system generation
TWI741041B (zh) 用於可程式化設備的統一程式設計環境
TWI744373B (zh) 使用安全演算法嵌入基礎性的信任根
US10587451B2 (en) Device programming with system generation
US20180041341A1 (en) Counterfeit prevention
TWI599906B (zh) Program update device, complex cell device, update decision program product and program update method
EP3772008A1 (en) Device programming with system generation
CN108989042A (zh) 用于授权更新自动化技术现场设备的方法
CN109408486B (zh) 文件发布方法和系统、发布服务器和文件生成装置
JP2023525576A (ja) ソフトウェア更新のための認証キーの制御範囲
JP2011086240A (ja) 検証装置とこれを用いたフィールド機器ソフトウェア更新システム
TW202038120A (zh) 安全資料處理裝置(二)